coco2d-x触摸事件简单实现
我是在CCLayer里面实现触摸的
要声明几个方法
//添加触屏委托,重新此方法
virtual void onEnter();
//触屏响应重写这三个方法
virtual bool ccTouchBegan(CCTouch* touch, CCEvent* event);//按下
virtual void ccTouchMoved(CCTouch* touch, CCEvent* event);//拖动
virtual void ccTouchEnded(CCTouch* touch, CCEvent* event);//松开
然后实现
void GameLayer::onEnter(void){
CCDirector* pDirector = CCDirector::sharedDirector();
pDirector->getTouchDispatcher()->addTargetedDelegate(this, 0, false);
cocos2d::CCLayer::onEnter();
}
bool GameLayer::ccTouchBegan(cocos2d::CCTouch *touch, cocos2d::CCEvent *event){
CCPoint touchPoint=touch->getStartLocationInView();
touchPoint = CCDirector::sharedDirector()->convertToGL( touchPoint );
point_x=touchPoint.x;
point_y=touchPoint.y;
return true;
}
void GameLayer::ccTouchMoved(cocos2d::CCTouch *touch, cocos2d::CCEvent *event){
CCPoint touchPoint=touch->getLocationInView();
touchPoint = CCDirector::sharedDirector()->convertToGL( touchPoint );
point_x=touchPoint.x;
point_y=touchPoint.y;
}
void GameLayer::ccTouchEnded(cocos2d::CCTouch *touch, cocos2d::CCEvent *event){
CCPoint touchPoint=touch->getLocationInView();
touchPoint = CCDirector::sharedDirector()->convertToGL( touchPoint );
point_x=touchPoint.x;
point_y=touchPoint.y;
}
还有就是还一个getLocation