Cocos2D for iPhone應(yīng)用開(kāi)發(fā)學(xué)習(xí)點(diǎn)滴
Cocos2D for iPhone應(yīng)用開(kāi)發(fā)學(xué)習(xí)點(diǎn)滴是本文要介紹的內(nèi)容,講解了Cocos2D的操作,不多說(shuō),我們來(lái)看內(nèi)容。
除了 Layer 可以接受觸摸事件, 在Cocos2D 0.8以后加入一個(gè)新的特性,從而讓所有的對(duì)象都可以接受觸摸事件. 發(fā)現(xiàn)大家都不怎么用這個(gè)方法,這兒簡(jiǎn)單介紹一下.
首先添加事件接收者:
- [[TouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:1 swallowsTouches:NO];
//self為接收者, 優(yōu)先級(jí)參數(shù)從0開(kāi)始 數(shù)字越小優(yōu)先級(jí)越高,就會(huì)越先接收到事件, ***一個(gè)參數(shù)表示是否阻止此次事件冒泡
然后實(shí)現(xiàn)3個(gè)方法:
- #pragma mark TouchDispatcherDelegate
- - (BOOL) ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{
- //你的代碼
- return YES; //這兒如果返回NO 此次觸摸將被忽略
- }
- - (void) ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event
- {
- //你的代碼
- }
- - (void) ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event{
- //你的代碼
- }
這樣,就可以像處理UIView里的事件一樣去處理coco2d了.
Edit: 別忘了刪除監(jiān)聽(tīng)者, 要不然......
- [[TouchDispatcher sharedDispatcher] removeDelegate:self];
小結(jié):Cocos2D for iPhone應(yīng)用開(kāi)發(fā)學(xué)習(xí)點(diǎn)滴的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!