ಮಾರ್ಗದರ್ಶಿಗಳು · 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 ನೊಂದಿಗೆ, ನಡೆಸುತ್ತದೆ.

ಹುಡುಕಿ

ದಸ್ತಾವೇಜಿನಲ್ಲಿ ಹುಡುಕಲು ಟೈಪ್ ಮಾಡಿ.