Esempio n. 1
0
        /// <summary>
        /// 返回一个[0-1]的进度
        /// </summary>
        /// <param name="time">[0-maxTime]的值</param>
        /// <returns></returns>
        public float getProgress(float time)
        {
            if (time < 0)
            {
                time = 0;
            }
            else if (time > maxTime)
            {
                time = maxTime;
            }

            return(EaseAction.GetEaseAction(easeType, time / maxTime * (overNum - startNum) + startNum));
        }
Esempio n. 2
0
        /// <summary>
        /// 返回当前进度下对应的一个Vector数值而非进度值
        /// </summary>
        /// <param name="time">[0-maxTime]的值</param>
        /// <returns></returns>
        public Vector3 GetValueForVector3(float time)
        {
            if (time < 0)
            {
                time = 0;
            }
            else if (time > maxTime)
            {
                time = maxTime;
            }
            float offset = EaseAction.GetEaseAction(easeType, time / maxTime);

            return(startVector + (overVector - startVector) * offset);
        }
Esempio n. 3
0
 /// <summary>
 /// 返回由3个进度值组成的Vector进度值
 /// </summary>
 /// <param name="time">[0-maxTime]的值</param>
 /// <returns></returns>
 public Vector3 getProgressForVector3(float time)
 {
     if (time < 0)
     {
         time = 0;
     }
     else if (time > maxTime)
     {
         time = maxTime;
     }
     return(new Vector3(
                EaseAction.GetEaseAction(easeType, time / maxTime * (overVector.x - startVector.x) + startVector.x),
                EaseAction.GetEaseAction(easeType, time / maxTime * (overVector.y - startVector.y) + startVector.y),
                EaseAction.GetEaseAction(easeType, time / maxTime * (overVector.z - startVector.z)) + startVector.z));
 }