setPercentCompleted
たとえば、1 秒間に 500 ポイントの距離にわたって呼び出したいメソッドを持つコンポーネントがあります。
これを線形に行うには、タイマーを特定の間隔に設定し、タイマーがsetPercentCompleted
起動するたびに呼び出します。
ease-out
曲線を使用してこの機能を実装するにはどうすればよいですか?
これは物理学の質問に非常によく似ています。
特定の時間(1.0秒)内に特定の「変位」(1.0)に到達するには、特定の「減速」で特定の「速度」で出発する必要があります。
決定する必要のある2つの数値は、初速度と必要な減速度です。
SUVATを使用し、s=1およびt=1に代入します。
あなたはから得る
s = ut + 1/2 * at^2
に
a = 2 - 2u
初速度(u)と適用する加速度(a)がこの方程式を機能させる限り、1秒に1の距離に到達します。
数値をスプレッドシートに入れると、効果を確認できます。uの値を0から2の間で選択する必要があります。これにより、1秒で1.0に到達するために必要な加速度が得られます。
あなたはあなたのu量の開始値を持っていて、それからあなたの値によって毎回それを加速します。
実際、uの値を0から1の間で選択すると、「イーズイン」効果が得られます。uの値を1から2の間で選択すると、「イーズアウト」効果が得られます。
イージング関数を実装するためのさまざまな方程式があります。このJQuery イージング プラグインからインスピレーションを得ることができます。ソース コードは、Objective C に簡単に移植できるほど単純である必要があります。