开发中发现了egret的自带tween动画中tweenGroup没有自动重新播放的代码,就使用了一种较笨的方法进行播放
比如:我在exml皮肤文件中写了一个动画组tweenGroup,并且在ts文件中用play方法进行播放
//动画组名
private _animation:egret.tween.tweenGroup;
private palyAnimation(){
this._animation.play(); //play(0)可以使动画播放完自动回复到初始状态
}
这上面不能实现重复播放,官方给出的play()传入参数0只是让动画播放完自动回复到初始状态,所以接下来就是笨方法了:
public constructor(){
......
this._animation.addEventListener('complete',this.replay,this);
}
private replay(){
this._animation.play(0);
}
在构造参数中可以加入一个事件监听,等动画播放完了,让监听方法去回调replay()方法
当然,白鹭中的exml文件可以在tweenItem里面设置loop为true,但是有时候tweenGroup中不单单只有一个tweenItem,虽然可以在代码中遍历出来都加上循环再进行循环播放的增加,但是这样笨方法看起来就会省了很多事情,酌情使用吧
ps:博主还是学生,发表的东西又是不太成熟,这是我的第一篇博客,以后会经常更新些游戏、前后端这些东西,大家多多给出建议,相互学习