Andamenti complessi con la libreria p5.func
// height=100 lines=auto
let ease = new p5.Ease(); // inizializza generatore andamenti
let t = 0;
let tVel = 0.02;
function draw()
{
let e = ease.elasticOut( t ); // ottieni andamento
let y = lerp( 10, 90, e );
background(200);
circle( 50,y, 12 );
t += tVel;
if (t > 1.0001) {
t = 0;
}
}
let ease = new p5.Ease();
Prepara il generatore di funzioni che permetterà di ottenere anche andamenti diversi da quello lineare e lo identifica con il nome ease
.
let e = ease.elasticOut( t );
let y = lerp( 10, 80, e );
Legge il valore di andamento corrispondente al momento t
e lo usa con la funzione lerp()
per ottenere il valore di y
del cerchio.
Provare a sostituire elasticOut
con sineOut
, quinticOut
, bounceOut
o uno degli altri andamenti disponibili con la la libreria p5.func.
Al momento non è disponibile nessuna libreria ufficiale che gestisca automaticamente anche la variabile di controllo t
. Alcuni tentativi sono stati fatti con le librerie p5.animate.js e p5.ijeoma.js ma non vengono aggiornate da diversi anni.
Strutturazione dei file:
- CARTELLA-SKETCH
- assets
- libs
- p5.min.js
- p5.func.min.js
- index.html
- sketch.js