Wybierz sterownik, łącz kilka i wiedz dokładnie, co się dzieje, gdy któryś zostaje zatrzymany lub zastąpiony.
timing, spring i decay
timing podąża krzywą przez stały czas duration. spring podąża za fizyką i nie ma stałej długości. decay startuje z prędkością i zwalnia.
Te same sterowniki przyjmują liczbę, ValueXY lub rekord, więc { x, y, opacity } mogą poruszać się razem.
Przygotowywanie przykładu…
Parametry sprężyny
Użyj jednej parametryzacji. Bez żadnej dostajesz domyślną sprężynę React Native (tension 40, friction 7). velocity sprężyny domyślnie równa się prędkości toru, który przerywa.
sequence uruchamia po kolei, parallel razem, stagger startuje każdy po opóźnieniu, delay czeka, a loop powtarza. Wynik to znowu kontroler, więc kompozycje się zagnieżdżają.
Przygotowywanie przykładu…
start, stop i reset
Każdy kontroler ma start(callback?), stop() i reset(). Callback dostaje { finished }: false, gdy ruch został zatrzymany lub zastąpiony.
Uruchomienie nowego sterownika na tej samej wartości zastępuje bieżący od aktualnej pozycji. Żadnego skoku do któregokolwiek końca.
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
Śledź inną wartość
Żywe toValue restartuje sterownik za każdym razem, gdy ta wartość się zmienia, jak tracking w React Native. follow(target, source) to to samo połączenie sprężynowe jako nazwana funkcja.
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 klatki kluczowe
Easing odpowiada React Native: linear, quad, cubic, sin, circle, exp, elastic, back, bounce, bezier i pomocniki in, out, inOut. keyframes(value, frames, options) prowadzi jedną wartość przez kilka liczb z opcjonalnymi times i repeat.