using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TJAPlayer3.Animations { /// /// イーズイン・アウトを行うクラス。 /// class EaseInOut : Animator { /// /// イーズイン・アウトを初期化します。 /// /// 始点。 /// 終点。 /// イージングにかける時間。 public EaseInOut(int startPoint, int endPoint, int timeMs) : base(0, timeMs, 1, false) { StartPoint = startPoint; EndPoint = endPoint; Sa = EndPoint - StartPoint; TimeMs = timeMs; } public override object GetAnimation() { var persent = Counter.n現在の値 / (double)TimeMs * 2.0; if (persent < 1) { return ((double)Sa / 2.0 * persent * persent * persent) + StartPoint; } else { persent -= 2; return ((double)Sa / 2.0 * ((persent * persent * persent) + 2)) + StartPoint; } } private readonly int StartPoint; private readonly int EndPoint; private readonly int Sa; private readonly int TimeMs; } }