Útmutatók · 02

Timing, rugók és kompozíció

Válasszon drivert, kombináljon többet, és tudja pontosan, mi történik, ha az egyik leáll vagy lecserélődik.

timing, spring és decay

A timing egy görbét követ rögzített duration alatt. A spring a fizikát követi, és nincs rögzített időtartama. A decay egy sebességgel indul, és lassul.

Ugyanazok a driverek számot, ValueXY-t vagy rekordot fogadnak, így a { x, y, opacity } együtt mozoghat.

A példa előkészítése…

Rugóparaméterek

Egyféle paraméterezést használjon. Enélkül a React Native alapértelmezett rugóját kapja (tension 40, friction 7). A rugó velocity értéke alapértelmezés szerint a megszakított mozgás sebessége.

springs.js
spring(value, { toValue: 1 }); // React Native default
spring(value, { toValue: 1, stiffness: 260, damping: 20 }); // physical
spring(value, { toValue: 1, bounciness: 8, speed: 12 }); // React Native style
spring(value, { toValue: 1, tension: 40, friction: 7 }); // origami style

Kompozíció

A sequence egymás után futtat, a parallel együtt, a stagger mindegyiket késleltetés után indítja, a delay vár, a loop pedig ismétel. Az eredmény ismét vezérlő, így a kompozíciók egymásba ágyazhatók.

A példa előkészítése…

start, stop és reset

Minden vezérlőnek van start(callback?), stop() és reset() metódusa. A callback { finished } értéket kap: false, ha a mozgást leállították vagy lecserélték.

Ha ugyanazon az értéken új drivert indít, az az aktuális pozíciótól veszi át a futót. Egyik végre sem ugrik.

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

Egy másik érték követése

Egy élő toValue minden alkalommal újraindítja a drivert, amikor az az érték változik, mint a tracking React Native-ben. A follow(target, source) ugyanez a rugós kapcsolat elnevezett függvényként.

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 és kulcskockák

Az Easing megegyezik a React Native-belivel: linear, quad, cubic, sin, circle, exp, elastic, back, bounce, bezier, valamint az in, out, inOut segédfüggvények. A keyframes(value, frames, options) egy értéket több számon vezet végig, opcionális times és repeat beállítással.

Keresés

Gépeljen a dokumentációban való kereséshez.