मार्गदर्शक · 02

Timing, spring आणि रचना

driver निवडा, अनेक एकत्र करा, आणि एखादा थांबवल्यावर किंवा बदलल्यावर नेमके काय होते ते जाणा.

timing, spring आणि decay

timing निश्चित duration साठी वक्र अनुसरते. spring भौतिकशास्त्र अनुसरते आणि त्याला निश्चित लांबी नसते. decay वेगाने सुरू होऊन मंदावते.

तेच driver संख्या, ValueXY किंवा record स्वीकारतात, त्यामुळे { x, y, opacity } एकत्र हलू शकतात.

उदाहरण तयार होत आहे…

spring पॅरामीटर

एकच पॅरामीटरायझेशन वापरा. काहीही नसल्यास React Native चा डीफॉल्ट spring मिळतो (tension 40, friction 7). spring चा velocity डीफॉल्टनुसार तो व्यत्यय आणत असलेल्या मार्गाचा वेग असतो.

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

रचना

sequence एकामागून एक, parallel एकत्र, stagger प्रत्येकाला विलंबानंतर सुरू करतो, delay वाट पाहतो आणि loop पुनरावृत्ती करतो. परिणाम पुन्हा कंट्रोलरच असतो, त्यामुळे रचना एकमेकांत ठेवता येतात.

उदाहरण तयार होत आहे…

start, stop आणि reset

प्रत्येक कंट्रोलरकडे start(callback?), stop() आणि reset() असतात. callback ला { finished } मिळते: मोशन थांबवले किंवा बदलले असल्यास false.

त्याच मूल्यावर नवीन driver सुरू केल्यास चालू असलेला सध्याच्या स्थितीपासून बदलला जातो. कोणत्याही टोकाकडे उडी नाही.

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

दुसऱ्या मूल्याचा मागोवा

जिवंत toValue ते मूल्य बदलल्यावर प्रत्येक वेळी driver पुन्हा सुरू करतो — React Native मधील tracking प्रमाणे. follow(target, source) तेच spring जोडणी नाव असलेल्या फंक्शनच्या रूपात देते.

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 आणि keyframes

Easing React Native शी जुळते: linear, quad, cubic, sin, circle, exp, elastic, back, bounce, bezier आणि in, out, inOut सहायक. keyframes(value, frames, options) एका मूल्याला अनेक संख्यांमधून, ऐच्छिक times आणि repeat सह, चालवते.

शोधा

दस्तऐवजांमध्ये शोधण्यासाठी टाइप करा.