Cocos2d-x

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

投稿日:2017年3月23日 更新日:

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

 

以上です。

PrainGoogleAdSense

PrainGoogleAdSense

-Cocos2d-x
-

執筆者:


comment

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

関連記事

楽ちん

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

  この記事では、楽してアニメーション機能を利用する方法について紹介します。   【前回まで】 ・第1回 : アニメーションを利用した回復エフェクトの表示方法 ・第2回 : 加算合成を利用し …

新しいファイル

ゲーム制作 Cocos2d-x関連 第8回 「より保守性のあるプログラムを目指して」

  何だこのタイトルは・・・ゲーム制作はどこに行ったの?   結論からいうと、この回ではゲームとしての進展はありません。ただ、後々のプログラムの可読性を上げるために、プログラムを少 …

エフェクト

Cocos2d-x 加算合成を利用して、背景が黒い画像をアニメーションで使えるようにする方法

アニメーションを利用してエフェクト表示するときに、以下のようなエフェクト素材を目にすることはよくあると思います。背景が透過処理されているものではなく、黒く塗りつぶされているものです。 元になる素材は「 …

ボールの進行方向

ゲーム制作 Cocos2d-x関連 第6回 「画面端でのボールの跳ね返り」

今回は画面端でのボールの跳ね返りを製作していきましょう。   前回ではボールを弾くと、二度と触れられないところまで去って行ってしまいましたね。それでは早速やっていきましょう。   …

ゲーム制作 Prain プレイン Cocos2d-x

ゲーム制作 Cocos2d-x関連 第17回 「タイトル画面の作成と画面遷移」

  この回ではタイトル画面と画面遷移を実装していきます。画面遷移が実装できれば、リッチなゲームを作りやすくなると思います。       仕様の検討 追加する画面 …