Una funzione di andamento ti permette di interpolare i valori da un valore all'altro in un dato intervallo usando qualcosa chiamato "funzione di andamento". Queste sono funzioni progettate per assumere un valore e in un dato punto dell'intervallo, emettere il valore in un determinato momento.
Questo può essere spiegato meglio dando un'occhiata a uno snippet di codice:
// simple linear tweening - no easing, no acceleration
Math.linearTween = function (t, b, c, d) {
return c*t/d + b;
};
@t è l'ora (o la posizione) corrente dell'interpolazione. Può trattarsi di secondi o frame, passi, secondi, ms, qualunque cosa - purché l'unità sia la stessa utilizzata per il tempo totale
@b è il valore iniziale della proprietà.
@c è la modifica tra il valore iniziale e quello di destinazione della proprietà.
@d è il tempo totale dell'interpolazione.
Grazie, http://upshots.org/actionscript/jsas-understanding-easing
Questa è la definizione di una funzione di andamento lineare. Graficamente questo nel tempo in termini di 't' otteniamo un semplice grafico lineare.
Va bene, d'accordo. Per cosa possiamo usarli?
Ogni volta che hai in mente un inizio e una fine e desideri animarli, puoi utilizzare una "interpolazione" o una "funzione di andamento".
Ad esempio, ecco una GIF che ho appena fatto di Angry Birds:
Notare che il menu scorre verso il punto dello schermo, ma si ferma lentamente? Ciò è dovuto a una funzione di allentamento che si inserisce facilmente. Puoi vederli in tutto il Web. Se questa fosse una facilità lineare, sarebbe sempre la stessa.
Musica?
Sicuro! Se prendiamo il valore del nostro attuale valore della colonna sonora e lo interpoliamo tra quello e 0 su un totale di t di dire, 1 secondo, il nostro volume si attenuerà lentamente per un periodo di un secondo.
Oggetti limitanti
Ci sono anche funzioni che consentono il rimbalzo (vedi: http://easings.net/#easeOutBounce ) che possono produrre effetti come questo su uno sprite senza alcun sistema fisico:
Puoi trovare ulteriori informazioni sul Web cercando l'interpolazione.