您的位置:首页 > 移动开发 > Cocos引擎

【Cocos2d-x学习笔记】之响应触屏事件

2013-11-01 14:53 411 查看

//HelloWorldScene.h[/code]
void onEnter();//继承父类的方法

virtual bool ccTouchBegan(cocos2d::CCTouch *pTouch,cocos2d::CCEvent *pEvent);
virtual void ccTouchMoved(cocos2d::CCTouch *pTouch,cocos2d::CCEvent *pEvent);
virtual void ccTouchEnded(cocos2d::CCTouch *pTouch,cocos2d::CCEvent *pEvent);
virtual void ccTouchCancelled(cocos2d::CCTouch *pTouch,cocos2d::CCEvent *pEvent);


//HelloWorldScene.cpp

//增加触屏事件
void HelloWorld::onEnter(){
CCLog("onEnter");
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,0,true);
}

//响应触屏事件


bool HelloWorld::ccTouchBegan(CCTouch *pTouch,CCEvent *pEvent){
CCLog("ccTouchBegan");
CCPoint p = pTouch->getLocation();
float x = p.x;
float y = p.y;
char *buf = new char[40];
memset(buf,0,10);
sprintf(buf,"x=%f,y=%f",x,y);
CCLog(buf);
delete[] buf;
return true;
}

void HelloWorld::ccTouchMoved(CCTouch *pTouch,CCEvent *pEvent){
CCLog("ccTouchMoved");
CCPoint p = pTouch->getLocation();
float x = p.x;
float y = p.y;
char *buf = new char[40];
memset(buf,0,10);
sprintf(buf,"x=%f,y=%f",x,y);
CCLog(buf);
delete[] buf;
}

void HelloWorld::ccTouchEnded(CCTouch *pTouch,CCEvent *pEvent){
CCLog("ccTouchEnded");
CCPoint p = pTouch->getLocation();
float x = p.x;
float y = p.y;
char *buf = new char[40];
memset(buf,0,10);
sprintf(buf,"x=%f,y=%f",x,y);
CCLog(buf);
delete[] buf;
}

void HelloWorld::ccTouchCancelled(CCTouch *pTouch,CCEvent *pEvent){
CCLog("ccTouchCancelled");
CCPoint p = pTouch->getLocation();
float x = p.x;
float y = p.y;
char *buf = new char[40];
memset(buf,0,10);
sprintf(buf,"x=%f,y=%f",x,y);
CCLog(buf);
delete[] buf;
}




使用后发现,触屏是能实现了,但是精灵的点击事件却没有了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: