///// <summary> ///// 计算速度 //TODO 没用的东西 ///// </summary> ///// <returns></returns> //private float CalSpeed() //{ // if (mUseSpeed && mSpeed > 0) // { // return mSpeed; // } // else // { // if (!mIsSpeedInit) // { // mSpeed = mDuration == 0 ? 9999999.0f : (1.0f / mDuration); // mIsSpeedInit = true; // } // return mSpeed; // } //} /// <summary> /// 解析动画类型,分析动画按照何种方式运行,返回False,动画执行完毕,True则需要继续处理动画类型解析 /// </summary> /// <param name="actionType"></param> /// <param name="actionState"></param> /// <returns></returns> private bool ParseActionType(ActionEnum.ActionType actionType, ActionEnum.ActionState actionState) { switch (actionType) { case ActionEnum.ActionType.Loop: mHasUpdateTime = 0; ++mTempLoopTime; bool isLoopFinish = mLoopTime == -1 ? true : mTempLoopTime < mLoopTime; if (isLoopFinish) { if (mOnLoopComplete != null) { OnTweenCallback(mOnLoopComplete); } } return(isLoopFinish); case ActionEnum.ActionType.Pingpang: if (actionState == ActionEnum.ActionState.Action) { ChangedActionState(ActionEnum.ActionState.Revert); return(true); } else if (actionState == ActionEnum.ActionState.Revert) { mHasUpdateTime = 0; ++mTempLoopTime; bool isPingpangLoopFinish = mLoopTime == -1 ? true : mTempLoopTime < mLoopTime; if (isPingpangLoopFinish) { ChangedActionState(ActionEnum.ActionState.Action); if (mOnLoopComplete != null) { OnTweenCallback(mOnLoopComplete); } } return(isPingpangLoopFinish); } break; case ActionEnum.ActionType.None: default: return(false); } return(false); }
/// <summary> /// 设置动画类型 /// </summary> /// <param name="tween"></param> /// <param name="actionType"></param> /// <returns></returns> public static ActionTween SetActionType(this ActionTween tween, ActionEnum.ActionType actionType) { tween.mActionType = actionType; return(tween); }