Easing.bounce有可能只反弹2次吗? 而不是3次;
Animated.timing(
this.y_translate,
{
delay: 0,
toValue: 1,
easing: Easing.bounce,
duration: 1000,
}
).start();
});
答案 0 :(得分:0)
简短的回答是否定的。
很长的答案是查看文档。
您会看到Easing.bounce
基于this mathematical definition,其反弹发生了4次。您可以在example code中详细了解他们如何执行此操作(请注意easeInBounce
,easeOutBounce
和easeInOutBounce
函数。如果将其与Easing.bounce
的React Native源中的内容进行比较,您将找到相同的数学计算。
因此,如果你想要有两个反弹效果,你需要自己做数学运算。例如,您可以使用自己的Easing
方法创建自己的bounce
类。然后在动画中使用它代替Easing.bounce
。
// You can also extend Easing and just define a new method (or override)
// if you want access to Easing's other methods.
class MyEasing {
/**
* Provides a two bounce effect.
*/
static bounce(t: number): number {
/* Code Goes Here */
return something;
}
}
// ... in your code ...
Animated.timing(
this.y_translate,
{
delay: 0,
toValue: 1,
easing: MyEasing.bounce,
duration: 1000,
}
).start();
});
如何进行此计算虽然超出了问题的范围,所以我会留下让你弄清楚。