现在我们定义animation,只能先通过 wxml定义 <view class="animation1" animation="{{animation1}}" />
然后在js中,使用this.animation1 = wx.createAnimation({ }) 创建,最后在需要用到的时候
this.animation1.scale(10).step()
this.setData({ animation1: this.animation1.export() })
现在我可能需要10多个不同的动画,都要这样创建和调用。。。感觉太重复了。。
尝试自定义函数。。但是不知道怎么传入animation的名称。。
写了一个这样的,错误的函数
myCreateAnimation:function(animationName){
this.animationName= wx.createAnimation({ //参数 })
}
实在不知道怎么传入animation。。。
this[animationName]
this.setData({ [animationName]:this.[animationName]
})
非常感谢,成功运行!
不客气。。你悟性高。。我突然发现写错了点。。你都理解了
过奖了。。主要是学习了this[]的用法。。非常感谢。
顺便贴上代码,方便学习,注意传入的animationName要是string类型的
playAnimation:
function
(animationName,duration,delay,xoffset){
this
[animationName] = wx.createAnimation({
duration: [duration],
delay: [delay]
})
this
[animationName].translateX(
xoffset).step()
this
.setData({ [animationName]:
this
[animationName].export() })
}
没明白你想表达的问题是什么?Animation这个接口确实是不太友好,这里我们之后会讨论下如何优化复杂场景下的动画调用。