Cinderでイベント処理

Author: kaminaly

続けざまメモでおなじみの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]