FMX.Types.TInterpolationType
Delphi
TInterpolationType = (Linear, Quadratic, Cubic, Quartic, Quintic, Sinusoidal, Exponential, Circular, Elastic, Back, Bounce);
C++
enum class DECLSPEC_DENUM TInterpolationType : unsigned int { Linear, Quadratic, Cubic, Quartic, Quintic, Sinusoidal, Exponential, Circular, Elastic, Back, Bounce };
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
enum | public | FMX.Types.pas FMX.Types.hpp |
FMX.Types | FMX.Types |
説明
アニメーションの Interpolation プロパティの型です。
プロパティの現在の値(または StartValue)が目的の値(StopValue)に向かって経時的に変化していく度合いを決定します。アニメーションが適用されるプロパティ(TAnimation の PropertyName プロパティを使用します)の値をグラフで表現すると、一方の端点は t=0 のときの開始値で表されます。もう一方の端点は、t=Duration 秒のときの終了値です。この 2 つの点は、さまざまなパスで結ぶことができます。要件は、時間が前に進み続けることだけです! TInterpolationType では、さまざまなパスの選択肢を提供します。
TInterpolationType が Linear の場合、プロパティの値は時間と共に直線的に変化し、開始点と終了点の間のパスは直線になります。これを始めとする TInterpolationType の値については下で説明します。
ビジュアルなデモが見たい場合は、下に示す「AttachTAnimation(Delphi)」のコード例(英語)を参照してください。
TInterpolationType は次の値のいずれかを取ります。
値 | 意味 |
---|---|
Linear |
線形補間。このアニメーションが適用されるプロパティ値は、時間と共に一定の割合で変化します。 |
Quadratic |
開始点と終了点の間のパスに 2 次関数が適用されます。パスの傾きは開始点で 0 であり、時間と共に常に増加します。終了点がパス上にくるよう、関数にはスカラが適用されます。 |
Cubic |
補間は y = x**3 という形式になります。パスの傾きは開始点で 0 であり、パスを進むにつれて 2 次関数の場合よりもさらに速く増加します。 |
Quartic |
補間は y = x**4 という形式になります。パスの傾きは開始点で 0 であり、パスを進むにつれて 2 次関数の場合よりもさらに速く増加します。 |
Quintic |
補間は y = x**5 という形式になります。パスの傾きは開始点で 0 であり、パスを進むにつれて 2 次関数の場合よりもさらに速く増加します。 |
Sinusoidal |
補間は y = sin(x) という形式になります。パスの傾きは開始点で 0 であり、サイン曲線の最初の変曲点(x=pi)が終了点になります。 |
Exponential |
補間は y = e**x という形式になります。パスの傾きは開始点で 1 であり、パスを進むにつれて 2 次関数の場合よりもさらに速く増加します。 |
Circular |
この補間では、開始点と終了点の間のパスは円周の 4 分の 1 です。パスの傾きは開始点で 0 であり、終了点で垂直になります。 |
Elastic |
パスはプログレッシブ正弦波幾何学的補間に合致します。パスの正弦波振幅は、アニメーションの種類(in または out)に応じて、最初は小さく最後が大きく、あるいはその逆になります。 |
Back |
パスは幾何学的補間に合致しません。値(y 座標)は増加して開始値に向かって戻りますが、時間(x の値)は常に正の方向に進まなければなりません。 |
Bounce |
パスは跳ねるボールを表します。パスは、開始点と終了点を結ぶ直線から湾曲が離れていく複数の円曲線から構成されます。曲線どうしは尖った点で接続されます。 |
補間で指定されたパスは、TAnimation と TFloatAnimation のいくつかのプロパティの影響を受ける可能性があります。上記の説明は、次の条件でのものです。
- StartFromCurrent = True
- AnimationType = atIn
AnimationType を Out に設定すると、上の説明で開始点について述べたことがすべて、終了点に適用されます。これらのアニメーション プロパティの効果については、各プロパティのドキュメントを参照してください。