【Egret】Exmlアニメーションのコールバック
Tweenはコールバックできるじゃないですか
egret.Tween.get(this.animation)
.to({x:50},500)
.call(function(){console.log("ここみたいなやつ");});
でもExmlアニメーションだと
this.animation.play(0);
この書き方しかないんで、
ずっとExmlアニメーションはコールバックできないもんだと思ってたんですけど
this.animation.addEventListener('complete',this.Complete,this);
天才か?
これでアニメーションの終了を待ってから処理できることを知りまして。
喜び勇んで処理を書き込んだんですね。
そしたら、あれれ?おかしいぞ~?
console
MainUI.ts:850 アニメーション開始
MainUI.ts:928 アニメーション終了
MainUI.ts:850 アニメーション開始
MainUI.ts:850 アニメーション開始
MainUI.ts:928 アニメーション終了
MainUI.ts:850 アニメーション開始
MainUI.ts:850 アニメーション開始
2回に1回completeが呼ばれないんじゃが……
めちゃくちゃ調べていたら、とある中国サイトに気になる言葉を見つけました。
注意:egret.tween.Group中如果你添加某一项属性,但是没有动画帧的话,动画在播放的时候是不能监听到完成回调的
アニメーションにキーフレームがなかったら、コールバック呼べんよ!だって監視するキーフレームがないんだからね!って。
え、まって?もしかして
こういうこと…!?
console
MainUI.ts:850 アニメーション開始
MainUI.ts:928 アニメーション終了
MainUI.ts:850 アニメーション開始
MainUI.ts:928 アニメーション終了
MainUI.ts:850 アニメーション開始
MainUI.ts:928 アニメーション終了
ちゃんと動くようになりました^^
とにかくExmlアニメーションの終了待ちできる喜びに打ち震えたね。
この記事が気に入ったらサポートをしてみませんか?