Odaberite driver, kombinirajte ih nekoliko i točno znajte što se događa kad se jedan zaustavi ili zamijeni.
timing, spring i decay
timing prati krivulju tijekom fiksnog duration. spring slijedi fiziku i nema fiksno trajanje. decay počinje brzinom i usporava.
Isti driveri primaju broj, ValueXY ili zapis, pa se { x, y, opacity } mogu pomicati zajedno.
Priprema primjera…
Parametri opruge
Koristite jednu parametrizaciju. Bez nje dobivate zadanu oprugu React Nativea (tension 40, friction 7). velocity opruge prema zadanom je brzina putanje koju prekida.
sequence izvodi jedno za drugim, parallel zajedno, stagger pokreće svako nakon kašnjenja, delay čeka, a loop ponavlja. Rezultat je opet kontroler, pa se kompozicije mogu ugnježđivati.
Priprema primjera…
start, stop i reset
Svaki kontroler ima start(callback?), stop() i reset(). Callback prima { finished }: false kad je pokret zaustavljen ili zamijenjen.
Pokretanje novog drivera na istoj vrijednosti zamjenjuje onaj koji radi od trenutačnog položaja. Nema skoka ni na jedan kraj.
controller.js
const move = timing(value, { toValue: 1, duration: 600 });
move.start(({ finished }) => {
// finished is false when stopped or replaced by a new animation
});
move.stop(); // keeps the value where it is on screen
move.reset(); // returns to where this animation started
Praćenje druge vrijednosti
Živi toValue ponovno pokreće driver svaki put kad se ta vrijednost promijeni, kao tracking u React Nativeu. follow(target, source) je ista veza s oprugom kao imenovana funkcija.
tracking.js
// A live toValue tracks another value, like React Native tracking.spring(badge, { toValue: pointer, stiffness: 300, damping: 26 }).start();
// follow() is the same connection as a named function.follow(badge, pointer, { stiffness: 300, damping: 26 });
Easing i ključni kadrovi
Easing odgovara React Nativeu: linear, quad, cubic, sin, circle, exp, elastic, back, bounce, bezier i pomoćnici in, out, inOut. keyframes(value, frames, options) vodi jednu vrijednost kroz nekoliko brojeva s neobaveznim times i repeat.