FMX.Types.TInterpolationType

De RAD Studio API Documentation
Aller à : navigation, rechercher

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 };

Propriétés

Type Visibilité  Source Unité  Parent
enum public
FMX.Types.pas
FMX.Types.hpp
FMX.Types FMX.Types

Description

Le type de la propriété Interpolation d'une animation.

Détermine la vitesse à laquelle la valeur en cours (ou StartValue) d'une propriété est remplacée par la valeur de destination (StopValue) dans le temps. Sur un graphe traçant la valeur d'une propriété sur laquelle l'animation est appliquée (via la propriété PropertyName de TAnimation ), un point de fin est représenté par la valeur de départ à t=0. L'autre point de fin est la valeur de terminaison à t=nombre de secondes. De nombreux chemins différents peuvent se connecter à ces deux points. La seule exigence est que le temps continue à s'écouler vers l'avant ! TInterpolationType fournit une variété de chemins parmi lesquels choisir.

Avec un TInterpolationType à Linear, la valeur de la propriété change de façon linéaire dans le temps, et le chemin entre nos points de départ et de terminaison est une ligne droite. Ce paramètre ainsi que les autres valeurs possibles de TInterpolationType sont décrits ci-dessous.

Voir l'exemple de code AttachTAnimation (Delphi) référencé en bas pour une démonstration visuelle.

TInterpolationType peut prendre l'une des valeurs suivantes :

Valeur Signification

Linear

Une interpolation linéaire. La valeur de la propriété à laquelle cette animation s'applique change de façon constante dans le temps.

Quadratic

Une fonction quadratique est appliquée au chemin entre les points de départ et de terminaison. L'inclinaison du chemin est zéro au point de départ et augmente de façon constante dans le temps. Un scalaire est appliqué à la fonction pour que le point de fin tombe sur le chemin.

Cubic

L'interpolation est de la forme y = x**3. L'inclinaison du chemin est zéro au point de départ et augmente plus rapidement que la fonction quadratique sur le chemin.

Quartic

L'interpolation est de la forme y = x**4. L'inclinaison du chemin est zéro au point de départ et augmente plus rapidement que la fonction quadratique sur le chemin.

Quintic

L'interpolation est de la forme y = x**5. L'inclinaison du chemin est zéro au point de départ et augmente plus rapidement que la fonction quadratique sur le chemin.

Sinusoidal

L'interpolation est de la forme y = sin(x). L'inclinaison du chemin est zéro au point de départ, et place la première inflexion de la courbe sin (x=pi) au point de terminaison.

Exponential

L'interpolation est de la forme y = e**x. L'inclinaison du chemin est 1 au point de départ et augmente plus rapidement que la fonction quadratique sur le chemin.

Circular

Le chemin entre le point de départ et le point de terminaison pour cette interpolation est un quart de cercle. L'inclinaison du chemin est zéro au point de départ et vertical au point de terminaison.

Elastic

Le chemin suit une interpolation géométrique sinusoïdale progressive. L'amplitude sinusoïdale du chemin peut être plus petite au début et plus grande à la fin ou vice-versa selon le type d'animation (entrée / sortie).

Back

Le chemin ne suit pas une interpolation géométrique. La valeur (coordonnée y) augmente, en revenant vers la valeur de départ, mais le temps (valeur x) doit toujours se déplacer selon une direction positive.

Bounce

Le chemin décrit une balle bondissante. Le chemin est constitué de courbes circulaires avec une courbure s'éloignant de la ligne droite qui se connecte aux points de départ et de terminaison. Ces courbes sont connectées par des points pointus.

Plusieurs propriétés de TAnimation et TFloatAnimation peuvent effectuer le chemin spécifié par l'interpolation. Les descriptions ci-dessus sont pour :

  • StartFromCurrent = True
  • AnimationType = atIn

La définition de AnimationType sur Out provoque tout ce qui est dit ci-dessus à propos du point de départ à appliquer au point de terminaison. Pour voir leur effet, consultez la documentation de ces propriétés d'animation.

Voir aussi

Exemples de code