标签:
cocos2dx触摸CCTouch类的单点触摸有四个函数CCTouchBegan,CCTouchMove,CCTouchEnd,CCTouchCancalled。
这些触摸的函数不一定每个都要响应,但是CCTouchBegan是一定要有的,它的返回值是bool,其它函数返回值为void
下面我们看看如何触摸:
首先我们新建一个项目Hello。
1、在源文件Hello.h声明函数
1 void registerWithTouchDispatcher(void); //注册触摸 2 bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent); //触摸开始,注意返回类型,如果返回false,就不用写下面三个函数 3 void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent); //触摸滑动 4 void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent); //触摸结束 5 void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);//触摸取消 例如中途来电
2、开启触摸
在需要开启触摸的地方加入就行,例如init里面
1 bool Hello::init() { setTouchEnabled(true); return true; }
3、实现注册函数
1 void Hello::registerWithTouchDispatcher() 2 { 3 CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, true); 4 }
4、实现ccTouchBegan
1 bool Hello::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent) 2 { 3 CCPoint touchpoint = pTouch->getLocation(); //获取触摸坐标 4 CCLOG("touch began, touchpoint is %f", touchpoint); 5 return true; //true表示继续响应CCTouchMove,CCTouchEnd,CCTouchCancalled,false表示不响应。 6 }
5、实现ccTouchMove
1 void Hello::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent) 2 { 3 CCPoint touchpoint = pTouch->getLocation(); //获取触摸坐标 4 CCLOG("touch move, touchpoint is %f", touchpoint); 5 }
6、实现ccTouchEnded
1 void Hello::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent) 2 { 3 CCPoint touchpoint = pTouch->getLocation(); //获取触摸坐标 4 CCLOG("touch end, touchpoint is %f", touchpoint); 5 }
7、实现ccTouchCancalled
1 void Hello::ccTouchCancalled(CCTouch *pTouch, CCEvent *pEvent) 2 { 3 CCPoint touchpoint = pTouch->getLocation(); //获取触摸坐标 4 CCLOG("touch end, touchpoint is %f", touchpoint); 5 }
Cocos2d-x触屏响应(单点触摸)CCTouchBegan,CCTouchMove,CCTouchEnd
标签:
原文地址:http://www.cnblogs.com/LeavesSmallAnt/p/4478554.html