Kılavuzlar · 02

Timing, yaylar ve bileşim

Bir driver seçin, birkaçını birleştirin ve biri durduğunda ya da değiştirildiğinde tam olarak ne olduğunu bilin.

timing, spring ve decay

timing sabit bir duration boyunca bir eğriyi izler. spring fiziği izler ve sabit bir süresi yoktur. decay bir hızla başlar ve yavaşlar.

Aynı driver'lar bir sayı, ValueXY ya da bir kayıt kabul eder; böylece { x, y, opacity } birlikte hareket edebilir.

Örnek hazırlanıyor…

Yay parametreleri

Tek bir parametre takımı kullanın. Hiçbiri yoksa React Native'in varsayılan yayını alırsınız (tension 40, friction 7). Bir yayın velocity'si varsayılan olarak kestiği hareketin hızıdır.

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

Bileşim

sequence birbiri ardına, parallel birlikte çalıştırır; stagger her birini bir gecikmeden sonra başlatır, delay bekler, loop tekrarlar. Sonuç yine bir denetleyicidir; bileşimler iç içe kullanılabilir.

Örnek hazırlanıyor…

start, stop ve reset

Her denetleyicinin start(callback?), stop() ve reset() metotları vardır. Callback { finished } alır: hareket durdurulduğunda ya da değiştirildiğinde false.

Aynı değerde yeni bir driver başlatmak, çalışanı geçerli konumdan devralır. Hiçbir uca sıçrama yoktur.

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

Başka bir değeri izlemek

Canlı bir toValue, o değer her değiştiğinde driver'ı yeniden başlatır; React Native'deki tracking gibi. follow(target, source) aynı yaylı bağlantının adlandırılmış fonksiyon hâlidir.

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 ve anahtar kareler

Easing React Native ile eşleşir: linear, quad, cubic, sin, circle, exp, elastic, back, bounce, bezier ve in, out, inOut yardımcıları. keyframes(value, frames, options) tek bir değeri isteğe bağlı times ve repeat ile birkaç sayı arasından geçirir.

Ara

Belgelerde aramak için yazın.