1首先要实现纯虚类
class Plant :public PlantInterface,public CCTouchDelegate
2把当前的精灵放入一个代理
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, true);
第一个参数要绑定的对象,
第2个参数是优先级,数字越小优先级越高
最后一个参数true表示他独吞当前的层false表示别的精灵也能用
3实现纯虚类的方法
| CCStandardTouchDelegate 默认事件 | |
|---|---|
virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent); | 处理按下事件 |
virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent); | 处理按下并移动事件 |
virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent); | 处理松开事件 |
virtual void ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent); | 处理打断事件 |
| CCTargetedTouchDelegate | |
|---|---|
virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent); | 处理用户按下事件,true表示继续处理, 否则false. |
virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent); | 处理按下并移动事件 |
virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent); | 处理松开事件 |
virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent); | 处理打断事件 |
本文介绍如何在Cocos2d-x中实现触摸事件处理,包括将精灵设置为触摸事件代理,以及实现各类触摸事件的具体方法。通过实例演示了如何使用CCTargetedTouchDelegate来定制触摸行为。
1万+

被折叠的 条评论
为什么被折叠?



