收藏
回答

animation 旋转动画只生效一次吗?

想实现的效果是每次点击都逆时针旋转360°,过程是缩小0.5倍,最后还原成1倍的

<view animation="{{animationData}}" style="background:red;height:100rpx;width:100rpx;margin: 100rpx 0 0 20rpx;">22222</view>

<view style="margin-top: 200rpx;bindtap="click">点击我</view>

Page({

  data: {

    animationData: {}

  },

  click(){

    var animation = wx.createAnimation({

      duration: 1000,

      timingFunction: 'ease',

    })

    this.animation = animation

    animation.scale(0.5,0.5).rotate(-360).step()

    this.setData({

      animationData:animation.export()

    })

    setTimeout(function() {

      animation.scale(1,1).rotate(-360).step()

      this.setData({

        animationData:animation.export()

      })

    }.bind(this), 1000)

  }

})


回答关注问题邀请回答
收藏

2 个回答

  • xplee
    xplee
    2022-01-26

    这样试试

    Page({
      onLoad: function (options) {
        var animation = wx.createAnimation({
          duration: 1000,
          timingFunction: 'ease',
        })
        this.animation = animation
      },
    
        click({
             this.animation.scale(0.5,0.5).rotate(-360).step().scale(1).rotate(360).step({duration:0})
        this.setData({
          animationData:this.animation.export()
        })
      }
    })
    
    2022-01-26
    有用 3
    回复 7
    •  
       
      2022-01-26
      你有没有发现第一次是正常的,再次点击会转两圈,手机和开发者工具都是
      2022-01-26
      回复
    • xplee
      xplee
      2022-01-26回复 
      this.animation.scale(0.5,0.5).rotate(-360).step().scale(1).rotate(0).step({duration:0})
      2022-01-26
      2
      回复
    •  
       
      2022-01-26回复xplee
      哥,你简直就是男神,真的厉害。学到了,还能这么写。谢谢哥
      2022-01-26
      1
      回复
    • xplee
      xplee
      2022-01-26回复 
      别崇拜,点个有用呗,哈哈
      2022-01-26
      回复
    •  
       
      2022-01-26
      点了哈哈
      2022-01-26
      回复
    查看更多(2)
  •  
     
    2022-01-26

    rotate就是这个旋转角度,我每次旋转都想让他继续旋转-360°,这个有什么方法能做到吗


    2022-01-26
    有用
    回复
登录 后发表内容