Prainブログ

ゲーム開発とかIT小話とかその他雑記のブログ

*

Cocos2d-x カスタムイベントを利用してソースコードの可読性をあげる

      2017/03/24

cocos2dx

こんにちは、akiです。

この記事ではカスタムイベントの使い方について説明します。

 

カスタムイベントとは、ユーザが自由に処理を記述できるイベントのことです。イベントを発行するディスパッチャと、発行されたイベントを受け取るイベントリスナーの2つから構成されます。

カスタムイベントを利用することで、メインループ中にif文やフラグを乱用すること無く、スッキリとしたコードを描くことが可能になります。可読性が上がれば人間のミスも減るということで、使わない手は無いです。

■環境

XCode:8.2.1

Cocos2d-x:3.9

 

 

スポンサーリンク

 

 

カスタムイベントリスナーを追加する

    this->getEventDispatcher()->addCustomEventListener("custom_event_name" [this](EventCustom* event){
    	
        CCLOG("*** costom event exec ***");

    });

 

上記の例では“coutom_event_name”というカスタムイベントリスナーを追加しています。イベントリスナーを追加する場所は、タップイベントの取得などと同じでシーンを初期化する箇所に記述すれば良いです。

 

 

イベントを発行する(イベントのディスパッチ)

 
            auto event = EventCustom("custom_event_name");
            Director::getInstance()->getEventDispatcher()->dispatchEvent(&event);

 

カスタムイベントリスナーを追加したときに使用したイベントリスナー名を設定してイベントを発行します。この記述が実行された時点でカスタムイベントリスナーに記述した処理が実行されます。

 

実践的なカスタムイベントの使い方についてはこちらの記事(内部リンク)を参照して下さい。

こんにちは、akiです。この記事ではカスタムイベントを削除するタイミングについて説明します。 掲題の通り、カスタムイベントを登録した場合、不要になった際に明示的に削除してやる必要があります。以下のようなケースで説明しますと・・・  画面を...

 

以上です。

 -

        

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

回復エフェクト
Cocos2d-x アニメーションを利用した回復エフェクトの表示方法

この記事では、Cocos2d-xのアニメーションを利用したエフェクトの表示方法に …

ゲーム制作 Cocos2d-x関連 最終回 「勝利演出、敗北演出の追加」

勝利演出、敗北演出を実装していきます。今回で最終回です!   &nbs …

タイムチャート
ゲーム制作 Cocos2d-x関連 第15回 「ダメージエフェクトの演出」

おそらくここが一番大変なところですが、ゲーム完成までもう一歩です!   …

エフェクト
Cocos2d-x エフェクトアニメーションの終了と同時にエフェクトを消す方法

この記事では、アニメーションを表示し終わった後に、アニメーション表示を消す方法を …

楽ちん
Cocos2d-x アニメーションの画像追加を楽に行う方法

  この記事では、楽してアニメーション機能を利用する方法について紹介します。 & …