Pasirinkite driver, sujunkite kelis ir tiksliai žinokite, kas nutinka, kai vienas sustoja ar yra pakeičiamas.
timing, spring ir decay
timing seka kreivę per fiksuotą duration. spring paklūsta fizikai ir neturi fiksuotos trukmės. decay pradeda nuo greičio ir lėtėja.
Tie patys driver priima skaičių, ValueXY arba įrašą, todėl { x, y, opacity } gali judėti kartu.
Ruošiamas pavyzdys…
Spyruoklės parametrai
Naudokite vieną parametrų rinkinį. Be jo gaunate numatytąją React Native spyruoklę (tension 40, friction 7). Spyruoklės velocity pagal numatymą yra pertraukiamo judesio greitis.
sequence vykdo vieną po kito, parallel – kartu, stagger paleidžia kiekvieną po delsos, delay laukia, o loop kartoja. Rezultatas vėl yra valdiklis, todėl kompozicijas galima įdėti vieną į kitą.
Ruošiamas pavyzdys…
start, stop ir reset
Kiekvienas valdiklis turi start(callback?), stop() ir reset(). callback gauna { finished }: false, kai judesys buvo sustabdytas ar pakeistas.
Paleidus naują driver toje pačioje reikšmėje, veikiantis pakeičiamas nuo dabartinės padėties. Jokio šuolio į kurį nors galą.
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
Kitos reikšmės sekimas
Gyvas toValue iš naujo paleidžia driver kaskart, kai ta reikšmė pasikeičia, kaip tracking React Native. follow(target, source) yra tas pats spyruoklinis ryšys kaip pavadinta 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 ir raktiniai kadrai
Easing atitinka React Native: linear, quad, cubic, sin, circle, exp, elastic, back, bounce, bezier ir pagalbinės in, out, inOut. keyframes(value, frames, options) praveda vieną reikšmę per kelis skaičius su neprivalomais times ir repeat.