Libgdx: Action.OnCompletionListener

作成日 2014年02月14日  ·  3コメント  ·  ソース: libgdx/libgdx

特別なアクション(同じアクターの他のアクションと並行して)が終了したかどうかを確認する方法を見つけることができませんでした。 Music.OnCompletionListenerのようなInterfaceAction.OnCompletionListenerのようなものは本当に素晴らしいでしょう。

アクションa=Actions.fadeOut(10);
a.setOnCompletionListener(new Action.OnCompletionListener(){
//何かをします。
})

このような統合がない特別な理由はありますか?

最も参考になるコメント

次を使用できます。

sequence(someAction, new Action() {
    public boolean act (float delta) {
        // This runs when someAction is done.
        return true;
    }
});
// OR, one line of code less:
sequence(someAction, run(new Runnable() {
    public void run () {
        // This runs when someAction is done.
    }
}));

完了リスナーがもっと役立つシナリオは考えられません。

全てのコメント3件

次を使用できます。

sequence(someAction, new Action() {
    public boolean act (float delta) {
        // This runs when someAction is done.
        return true;
    }
});
// OR, one line of code less:
sequence(someAction, run(new Runnable() {
    public void run () {
        // This runs when someAction is done.
    }
}));

完了リスナーがもっと役立つシナリオは考えられません。

まあ、それはいいですね! どうもありがとう。 自分のアクションをとても簡単に統合できることを知りませんでした。

ちなみに、AfterAction(Actions.after(Action))の機能を教えてください。 何がわからなかった。 リスナーメソッドを探しているときにつまずいた。

うん、アクションの全体的なアイデアは、あなたが簡単にあなた自身を書くことができるということです。 :)

AfterAction「このアクションが追加された時点でのアクターの他のすべてのアクションが終了した後にのみアクションを実行します。」 したがって、アクションを追加すると、他のすべてのアクションが完了するまでアクションは完了しません。 これを使用してシーケンスをブロックし、他の事柄の後に物事を起こさせることができます。

CountdownEventActionは、他の事柄の後にアクションが発生するように制御するもう1つの方法です。 このスレッドとそこからリンクされているブログ投稿を参照してください。
http://www.badlogicgames.com/forum/viewtopic.php?t=12322&p=56104

このページは役に立ちましたか?
0 / 5 - 0 評価