定義事件分發器
使用系統自帶事件(觸控螢幕,鍵盤響應等)或者是自己定義事件
定義事件***監聽相關事件
定義響應函式,作為事件觸發後***做出的反應
定義事件分發器
auto dispatcher = director::getinstance()->geteventdispatcher();
//或者
_eventdispatcher
使用系統自帶事件建立***auto touchlistener = eventlistenertouchonebyone::create();
定義響應函式
方式1
bool thunder::ontouchbegan(touch *touch, event *unused_event)
auto touchlistener = eventlistenertouchonebyone::create();
touchlistener->ontouchbegan = cc_callback_2(thunder::ontouchbegan, this);
方式2touchlistener->ontouchbegan = (touch *touch, event *unused_event)
將***註冊到分發器上_eventdispatcher->addeventlistenerwithscenegraphpriority(touchlistener, sprite1);
_eventdispatcher->addeventlistenerwithscenegraphpriority(touchlistener->clone(), sprite2);//假如重複使用某個listener,要用clone,因為每一次註冊***都會被分配乙個獨特的標記
移除***_eventdispatcher->removeeventlistener(listener);
_eventdispatcher->removealleventlisteners();
定義分發器和自定義事件***
方法1
void thunder::meet(eventcustom* event) //響應函式
auto meetlistener = eventlistenercustom::create("meet", cc_callback_1(thunder::meet, this));
//"meet"是自定義的事件名字,thunder::meet是響應函式
_eventdispatcher->addeventlistenerwithfixedpriority(meetlistener, 1);
方法2_eventdispatcher->addcustomeventlistener("meet", (eventcustom* event));
發布事件eventcustom e("meet"); //自定義事件
int a =
1;e->setuserdata(&a);
_eventdispatcher->dispatchevent(&e);
cocos2d實現語音 Cocos2d 聲音API
param url 聲音路徑 cc.audioengine.playmusic url loop 停止背景 param releasedata 是否釋放聲音資料,預設為false cc.audioengine.stopmusic releasedata 暫停背景 cc.audioengine.pau...
cocos2d 的touch事件要點
在使用cocos2d開發遊戲時,免不了要涉及到touch事件。使用cclayer時,可以簡單的設定self.istouchenable yes,然後改寫 void cctouchesbegan nsset touches withevent uievent event 方法,即可實現觸控事件的接收及...
批處理處理美術資源 cocos2d
echo off color 0a rmdir s q f fonts atlas rmdir s q 2x mkdir 2x mkdir 2x icons mkdir 2x icons item mkdir 2x icons spell mkdir 2x fonts mkdir 2x fonts ...