Une fonction d'accélération vous permet d'interpoler des valeurs d'une valeur à une autre sur un intervalle donné en utilisant ce que l'on appelle une "fonction d'accélération". Ce sont des fonctions conçues pour prendre une valeur et à tout moment donné de l'intervalle, sortir la valeur à un certain moment.
Cela peut être mieux expliqué en jetant un œil à un extrait de code:
// simple linear tweening - no easing, no acceleration
Math.linearTween = function (t, b, c, d) {
return c*t/d + b;
};
@t est l'heure (ou la position) actuelle de l'interpolation. Cela peut être des secondes ou des images, des pas, des secondes, des ms, peu importe - tant que l'unité est la même que celle utilisée pour le temps total
@b est la valeur de début de la propriété.
@c est le changement entre la valeur de début et la valeur de destination de la propriété.
@d est la durée totale de l'interpolation.
Merci, http://upshots.org/actionscript/jsas-understanding-easing
Il s'agit de la définition d'une fonction d'assouplissement linéaire. Représentant cela au fil du temps en termes de «t», nous obtenons un simple graphique linéaire.
D'accord, cool. À quoi pouvons-nous les utiliser?
Chaque fois que vous avez un début et une fin en tête et que vous souhaitez les animer, vous pouvez utiliser une "interpolation" ou une "fonction d'accélération".
Par exemple, voici un GIF que je viens de prendre d'Angry Birds:
Remarquez que le menu glisse jusqu'au point de l'écran, mais il s'arrête lentement? Cela est dû à une fonction d'assouplissement qui se met en place. Vous pouvez les voir partout sur le Web. S'il s'agissait d'une facilité linéaire, ce serait la même partout.
La musique?
Sûr! Si nous prenons la valeur de notre valeur de bande sonore actuelle et l'interpolons entre cela et 0 sur un total de t disons, 1 seconde, alors notre volume disparaîtra lentement sur une période d'une seconde.
Objets englobants
Il existe également des fonctions qui permettent le rebond (voir: http://easings.net/#easeOutBounce ) qui peuvent produire des effets comme celui-ci sur un sprite sans aucun système physique:
Vous pouvez trouver plus d'informations sur le Web en recherchant l'interpolation.