egret的tween動畫循環播放


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM