uni旋转动画循环播放
时间: 2023-09-02 15:10:52 浏览: 122
要实现`uni.createAnimation`的旋转动画循环播放效果,可以使用递归函数来实现。以下是一个示例代码:
```javascript
// 创建动画对象
const animation = uni.createAnimation({
duration: 1000, // 动画持续时间,单位ms
timingFunction: 'linear', // 动画的时间曲线,可选值:linear、ease、ease-in、ease-in-out、ease-out
})
// 循环播放旋转动画
function playAnimation() {
// 设置动画效果
animation.rotate(360).step()
// 更新动画数据
this.setData({
animationData: animation.export()
})
// 每次动画完成后重新播放动画
setTimeout(() => {
// 重置动画
animation.rotate(0).step({ duration: 0 })
// 更新动画数据
this.setData({
animationData: animation.export()
})
// 延时一段时间后再次播放动画
setTimeout(playAnimation.bind(this), 1000)
}, 1000)
}
// 在页面加载时调用函数开始播放动画
Page({
onShow() {
playAnimation.call(this)
}
})
```
在上述示例中,我们使用递归函数`playAnimation`来循环播放旋转动画。每次调用函数时,设置动画效果为旋转360度,并通过`setData`方法更新页面的动画数据。然后通过`setTimeout`函数等待1秒后,重置动画为初始状态(旋转角度为0),更新动画数据后延时1秒再次调用`playAnimation`函数,实现动画的循环播放效果。
希望对您有所帮助!如果有任何问题,请随时提问。
阅读全文