【发布时间】:2020-02-04 02:34:05
【问题描述】:
我需要创建一个动画,其中一个图像将围绕另一个图像旋转。我已经尝试使用来自类似问题的建议,例如 Animate a Circle around another circle ,但不幸的是它没有帮助。我尝试寻找可以提供所需功能的 3rd 方模块,但没有找到适合我需要的东西。
我找到了一个有用的 article 来理解 JavaScript 中的圆周运动,但是我很难在 React Native 动画中复制它。我相信在动画循环运动时,我很难理解 Animated API 和 transform 样式属性的正确用法。
<View style={animationContainer}>
<Image
source={require('./images/image.png')}
style={image}
/>
<Animated.Image
source={require('./images/icon.png')}
style={circlingIcon}
/>
</View>
【问题讨论】:
-
This 就是你要找的东西
-
@CampbellMG 我见过那个,它看起来是一个不错的解决方案,但不是最好的。但我很感激指出这个例子
-
该解决方案的哪一部分不适合您?
-
我不喜欢这个解决方案的地方是它可以近似为圆周运动,但不能提供精确的功能相关性。有一个变量
snapshot,它定义了您希望在动画中拥有多少帧。我希望找到的是正确插值会导致连续图形/运动的值 -
您在尝试使用
AnimatedAPI 创建圆周运动时遇到的问题是您只能访问基本的数学函数(加、除、模等)。这就是为什么此解决方案沿圆形路径而不是精确数字采样值的原因。您可以尝试使用 this 之类的库,其中包含一些更复杂的函数,例如使用泰勒级数的 sin。
标签: javascript react-native animation