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

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

関連記事

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

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

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

エフェクトサムネ

ゲーム制作 Cocos2d-x関連 第12回 「ボールヒットエフェクトの表示」

派手なヒットエフェクトが欲しい!   この回では、派手では無いですが、ボールがドロップにヒットしたタイミングでヒットエフェクトを表示していきたいと思います。 一口にエフェクトと言っても色々な …

Cocos2d-x 多言語に対応したアプリのプログラム実装方法(処理のローカライズ)

こんにちは。akiです。 この記事では、Cocos2d-xにおいてアプリを多言語対応にするやり方を説明します。とっても簡単です。   ■環境 XCode:7.3.1 Cocos2d-x:3. …

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

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

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

cocos2dx

ゲーム制作 Cocos2d-x関連 第1回 「ゲームを作ろう!!」

ゲーム制作をやってみたい!   誰もが一度はちらっと考えることなのではないでしょうか。しかし一度はそう思うものの、でもやっぱり難しそうだし・・・と思いとどまる方も少なくないはず。 &nbsp …