收藏
回答

wx.createAnimation设置多个step,后面的step会合并执行?

let animation= wx.createAnimation({

timingFunction: 'ease',

})

animation.left(0).translateY(0).step({ duration: 3000 });

animation.opacity(0.2).step({ duration: 3000 });

animation.left(-80).scale(3).step({ duration: 3000 });

this.setData({

animationData: animation.export(),

})

js里这种写法,三个动效都会执行,但是第二个step总是和第三个step一起执行,是为什么

最后一次编辑于  08-30  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • bibolibo
    bibolibo
    08-30

    你改变一下速度呢?


    使用linear 看看有没有这个问题  .可能是速度加快导致的.

    08-30
    赞同
    回复 10
    • 陈小安
      陈小安
      08-30
      一样的,还是合并执行了
      08-30
      回复
    • bibolibo
      bibolibo
      08-30回复陈小安
      你将这几个动画复制下来形成6个动画,看是不是opacity 这个动画的问题..
      08-30
      回复
    • 陈小安
      陈小安
      08-30
      我把第二个换成scale(0.5),第二个step直接被跳过了
      08-30
      回复
    • bibolibo
      bibolibo
      08-30回复陈小安
      那你只要两个动画试一下啊,是执行先后执行两个,还是执行第一个,第二个,跳过.
      08-30
      回复
    • 陈小安
      陈小安
      08-30
      只要两个动画没问题,三个就有问题了,应该是微信的bug
      08-30
      回复
    查看更多(5)
  • 余晓辉
    余晓辉
    09-05

    animation.left(0).translateY(0).step({ duration: 3000 }).opacity(0.2).step({ duration: 3000 }).left(-80).scale(3).step({ duration: 3000 });

    animation = animation.left(0).translateY(0).step({ duration: 3000 });

    animation = animation.opacity(0.2).step({ duration: 3000 });

    animation = animation.left(-80).scale(3).step({ duration: 3000 });

    试试?!


    09-05
    赞同
    回复
问题标签