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 加算合成を利用して、背景が黒い画像をアニメーションで使えるようにする方法

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

cocos2dx

Cocos2d-x サーバ側の処理とデータ送信(Httpレスポンス)

この記事は「Cocos2d-x セーブデータをサーバに送信して保存する」の続きになります。 ・第1回 : サーバにデータを保存したい理由と全体の流れ ・第2回 : クライアント側の処理とデータ送信(H …

三平方の定理

ゲーム制作 Cocos2d-x関連 第7回 「ボールとドロップとの衝突検知と跳ね返り」

今回はボールとドロップとの衝突検知を実装してきます。   前回はボールと画面端との衝突判定と跳ね返りのプログラムを行いました。   画面端であれば上下左右の4通りの検知を行えばよか …

シミュレータ

ゲーム制作 Cocos2d-x関連 第3回 「画像の表示処理 解説」

今回はCocos2d-xにおける画像表示コードの解説です。   画像表示処理の解説 前回 第2回 「Cocos2d-xで作ろう!!~画像の表示処理」 の続きです。   先ほどの画像 …

回復エフェクト

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

この記事では、Cocos2d-xのアニメーションを利用したエフェクトの表示方法について紹介します。     また、少し実践的なアニメーションの利用方法をシリーズ記事として全5回で予 …