开发中发现了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:博主还是学生,发表的东西又是不太成熟,这是我的第一篇博客,以后会经常更新些游戏、前后端这些东西,大家多多给出建议,相互学习