開發中發現了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:博主還是學生,發表的東西又是不太成熟,這是我的第一篇博客,以后會經常更新些游戲、前后端這些東西,大家多多給出建議,相互學習