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 };
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
enum | public | FMX.Types.pas FMX.Types.hpp |
FMX.Types | FMX.Types |
Beschreibung
Der Typ der Eigenschaft Interpolation einer Animation.
Legt die Geschwindigkeit fest, mit der der aktuelle Wert (oder StartValue) einer Eigenschaft in einem gewissen Zeitraum in den Zielwert (StopValue) geändert wird. Bei der grafischen Darstellung des Wertes einer Eigenschaft, für die die Animation erfolgt (mit der TAnimation-Eigenschaft PropertyName) wird ein Endpunkt durch den Startwert bei t=0 dargestellt. Der andere Endpunkt ist der Stoppwert bei t=Duration Sekunden. Diese beiden Punkte können durch verschiedene Pfade verbunden werden. Die einzige Anforderung besteht darin, dass die Zeit voranschreitet! TInterpolationType stellt eine Vielzahl von Pfaden zur Auswahl bereit.
Mit einem TInterpolationType von Linear ändert sich der Wert der Eigenschaft linear, und der Pfad zwischen dem Start- und dem Stopppunkt ist eine gerade Linie. Dieser und weitere Werte für TInterpolationType werden in der folgenden Tabelle beschrieben.
Eine visuelle Demonstration finden Sie in dem Codebeispiel AttachTAnimation (Delphi) über den Link am Ende dieser Seite.
TInterpolationType kann einen der folgenden Werte annehmen:
Wert | Bedeutung |
---|---|
Linear |
Eine lineare Interpolation. Der Eigenschaftswert dieser Animation wird im Laufe der Zeit konstant geändert. |
Quadratic |
Für den Pfad zwischen dem Start- und dem Stopppunkt wird eine quadratische Funktion verwendet. Die Steigung des Pfades ist am Startpunkt null und erhöht sich konstant im Laufe der Zeit. Ein Skalar wird auf die Funktion angewendet, damit der Endpunkt auf den Pfad fällt. |
Cubic |
Die Interpolation hat die Form y = x**3. Die Steigung des Pfades ist am Startpunkt null und erhöht sich viel schneller als die quadratische Funktion über den Pfad. |
Quartic |
Die Interpolation hat die Form y = x**4. Die Steigung des Pfades ist am Startpunkt null und erhöht sich viel schneller als die quadratische Funktion über den Pfad. |
Quintic |
Die Interpolation hat die Form y = x**5. Die Steigung des Pfades ist am Startpunkt null und erhöht sich viel schneller als die quadratische Funktion über den Pfad. |
Sinusoidal |
Die Interpolation hat die Form y = sin(x). Die Steigung des Pfades ist am Startpunkt null und setzt den ersten Wendepunkt der Sinuskurve (x=pi) am Stopppunkt. |
Exponential |
Die Interpolation hat die Form y = e**x. Die Steigung des Pfades ist am Startpunkt eins und erhöht sich viel schneller als die quadratische Funktion über den Pfad. |
Circular |
Der Pfad zwischen den Start- und dem Stopppunkt für diese Interpolation ist ein Viertelkreis. Die Steigung des Pfades ist am Startpunkt null und vertikal am Stopppunkt. |
Elastic |
Der Pfad folgt einer progressiven, sinusförmigen geometrischen Interpolation. Die sinusförmige Amplitude des Pfades kann abhängig vom Typ der Animation (in/out) am Anfang kleiner und am Ende größer oder umgekehrt sein. |
Back |
Der Pfad folgt keiner geometrischen Interpolation. Der Wert (Y-Koordinate) wird bis hin zum Startwert kleiner, aber die Zeit (X-Wert) muss sich immer in eine positive Richtung bewegen. |
Bounce |
Dieser Pfad stellt einen Aufsetzer (Ball) dar. Der Pfad besteht aus kreisförmigen Kurven mit einer von der Geraden, die den Start- und den Stopppunkt verbindet, abgewandten Krümmung. Diese Kurven sind durch spitze Punkte verbunden. |
Mehrere Eigenschaften von TAnimation und TFloatAnimation können den durch die Interpolation festgelegten Pfad beeinflussen. Die obigen Beschreibungen gelten für:
- StartFromCurrent = True
- AnimationType = atIn
Wird AnimationType auf Out gesetzt, beziehen sich die obigen Ausführungen nicht mehr auf den Startpunkt, sondern auf den Stopppunkt. Weitere Informationen zu den jeweiligen Auswirkungen finden Sie in der Dokumentation zu diesen Animationseigenschaften.