Izberite driver, združite jih več in natančno vedite, kaj se zgodi, ko se eden ustavi ali zamenja.
timing, spring in decay
timing sledi krivulji v fiksnem duration. spring sledi fiziki in nima fiksnega trajanja. decay začne s hitrostjo in upočasnjuje.
Isti driverji sprejmejo število, ValueXY ali zapis, zato se lahko { x, y, opacity } premikajo skupaj.
Pripravljanje primera …
Parametri vzmeti
Uporabite eno parametrizacijo. Brez nje dobite privzeto vzmet React Nativa (tension 40, friction 7). velocity vzmeti je privzeto hitrost poti, ki jo prekine.
sequence izvaja eno za drugim, parallel skupaj, stagger zažene vsakega po zamiku, delay čaka, loop pa ponavlja. Rezultat je spet krmilnik, zato je kompozicije mogoče gnezditi.
Pripravljanje primera …
start, stop in reset
Vsak krmilnik ima start(callback?), stop() in reset(). Callback prejme { finished }: false, ko je bilo gibanje ustavljeno ali zamenjano.
Zagon novega driverja na isti vrednosti zamenja tistega, ki teče, od trenutnega položaja. Ni skoka na noben konec.
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
Sledenje drugi vrednosti
Živ toValue znova zažene driver vsakič, ko se ta vrednost spremeni, kot tracking v React Nativu. follow(target, source) je ista povezava z vzmetjo kot poimenovana 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 in ključne sličice
Easing se ujema z React Nativom: linear, quad, cubic, sin, circle, exp, elastic, back, bounce, bezier in pomočniki in, out, inOut. keyframes(value, frames, options) vodi eno vrednost skozi več števil z neobveznima times in repeat.