గైడ్‌లు · 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‌తో నడిపిస్తుంది.

వెతకండి

డాక్యుమెంటేషన్‌లో వెతకడానికి టైప్ చేయండి.