Valitse driver, yhdistä useita ja tiedä tarkalleen, mitä tapahtuu, kun yksi pysähtyy tai korvataan.
timing, spring ja decay
timing seuraa käyrää kiinteän duration-ajan. spring noudattaa fysiikkaa eikä sillä ole kiinteää kestoa. decay alkaa nopeudella ja hidastuu.
Samat driverit hyväksyvät luvun, ValueXY-arvon tai tietueen, joten { x, y, opacity } voivat liikkua yhdessä.
Valmistellaan esimerkkiä…
Jousen parametrit
Käytä yhtä parametrointia. Ilman sitä saat React Nativen oletusjousen (tension 40, friction 7). Jousen velocity on oletuksena sen liikkeen nopeus, jonka se keskeyttää.
sequence suorittaa peräkkäin, parallel yhdessä, stagger käynnistää kunkin viiveen jälkeen, delay odottaa ja loop toistaa. Tulos on taas ohjain, joten koosteita voi sisäkkäistää.
Valmistellaan esimerkkiä…
start, stop ja reset
Jokaisella ohjaimella on start(callback?), stop() ja reset(). Callback saa { finished }-arvon: false, kun liike pysäytettiin tai korvattiin.
Uuden driverin käynnistäminen samalle arvolle korvaa käynnissä olevan nykyisestä sijainnista. Kumpaankaan päähän ei hypätä.
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
Toisen arvon seuraaminen
Elävä toValue käynnistää driverin uudelleen aina, kun kyseinen arvo muuttuu, kuten tracking React Nativessa. follow(target, source) on sama jousikytkentä nimettynä funktiona.
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 ja avainruudut
Easing vastaa React Nativea: linear, quad, cubic, sin, circle, exp, elastic, back, bounce, bezier sekä apufunktiot in, out ja inOut. keyframes(value, frames, options) vie yhden arvon useiden lukujen läpi valinnaisilla times- ja repeat-asetuksilla.