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
本文介绍如何在Cocos2d-x中通过CCLayer实现触摸事件处理,包括开始、移动及结束三个阶段,并提供了具体代码示例。
23

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



