[Cocos2d-js] cc.Actionによるアニメーションなどを連続で行う cc.sequence

2018年2月6日(更新: 2018年2月6日)

Cocos2d-xCocos2d-js)において、フェードインなどのアニメーション(アクション)をスプライトやラベルで実行するには、そのスプライトなどのメソッド runAction にアニメーションの情報を渡します。

target.runAction(アニメーション情報)

例えば、あるラベル(テキスト)にフェードアウトのアクション(cc.fadeOut)を行わせるには、以下のように書きます。

        var label = new cc.LabelTTF("FADE TEXT!", "Arial", 64);
        label.setPosition(cc.winSize.width / 2, cc.winSize.height * 2 / 3);
        this.addChild(label);

        label.runAction(cc.fadeOut(1));

連続してアクションを実行する sequence

あるアクションが終わった後に別のアクションを行わせたい時は cc.sequence を使用します。

cc.sequence の引数に、アクションの情報を実行させたい順に入れるだけで連続したアクションを作成することができます。

以下は、ラベルに設定したフェードアウトが終わった直後に、任意の関数を呼び出すアクション(cc.callFunc)を行う例です。

フェードアウトが終わったラベルを画面から取り除く処理を書いた関数を cc.callFunc で実行させています。

        var label = new cc.LabelTTF("FADE TEXT!", "Arial", 64);
        label.setPosition(cc.winSize.width / 2, cc.winSize.height * 2 / 3);
        this.addChild(label);

        var action = cc.sequence(cc.fadeOut(1), cc.callFunc(function() {
            label.removeFromParent();
        }));
        label.runAction(action);

3つ以上のアクションも同様に設定可能です。

コメントを残す

メールアドレスが公開されることはありません。