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 モーダルレイヤーの作り方

この記事ではCocos2d-xによるモーダルレイヤー実装のやり方について説明します。     モーダルレイヤーとは モーダルとは操作が完了するまで親への操作を受け付けなくさせるとい …

ゲームを面白くするために

ゲームを面白くするために意識する3つの要素

  この記事は、シリーズ記事 ゲーム制作 Cocos2d-x関連 第1回 「ゲームを作ろう!!」 (全18回)のおまけ記事です。   面白くないゲームを面白くするためには?というテ …

新しいファイル

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

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

アプリ 購入画面

Cocos2d-x SDKBoxを使ってアプリ内課金をするやり方 プログラム実装~実機テストまでの13の手順

この記事では、Cocos2d-xのSDKBoxを利用したiOSアプリ内課金のプログラム実装から実機テストのやり方まで、一連の流れで説明します。     アプリ課金の実機テストを、実 …

cocos2dx

Cocos2d-x クライアント側のHttpレスポンス処理

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