Cinderでイベント処理
続けざまメモでおなじみのkaminalyです。
CinderのEvent関係をちょっこす調べたのでメモメモ。
[code lang="plain"] ・Eventの種類と伝播タイミング MouseEvent MouseDown MouseUp MouseWheel MouseMove MouseDrag KeyEvent KeyDown KeyUp ResizeEvent Resize FileDropEvent FileDrop TouchEvent(AppBasic継承クラスのみ) TouchesBegan TouchesMoved TouchesEnded ・イベントを登録 >App継承クラス(※直接EventHandlerをoverrideするからあまり使わない。) CallbackId id = registerHogehoge( callback ); を呼ぶ。 >App継承クラス意外からは ci::app::App::get()でインスタンス拾って登録 CallbackId id = ci::app::App::get()->registerHogehoge( callback ); ※Hogehogeを適宜置換える。 ※戻り値にCallbackIdが帰ってくる。 このidはイベント解除の時に引数として使用する。 ※callbackは各種Eventを引数でとるメソッド。 (MouseEvent, KeyEvent, ResizeEvent, FileDropEvent, TouchEvent); ・イベントを解除 unregisterHogehoge( CallbackId ); [/code]