gpt4 book ai didi

c++ - 点击不起作用

转载 作者:行者123 更新时间:2023-11-28 07:15:00 25 4
gpt4 key购买 nike

我有什么错?HelloWorldScene.h中有一个方法

 void onTouchEnded(Touch *touch,Event *event);

文件HelloWorldScene.cpp我在Init()方法中写了

this->setTouchEnabled(true);

这里是方法的描述

void HelloWorld::onTouchEnded(Touch *touch,Event *event)
{
CCPoint location = touch->getLocationInView();

location = CCDirector::sharedDirector()->convertToGL(location);
location = this->convertToNodeSpace(location);

CCLog("x = %f \n y = %f \n ---------------------",location.x,location.y);
}

但是点击Windows失败

最佳答案

Touch Event有两种----TargetedDelegateStandardDelegate

针对目标委托(delegate)

virtual void registerWithTouchDispatcher();  
virtual bool ccTouchBegan (CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchMoved (CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchEnded (CCTouch *pTouch, CCEvent *pEvent);

在你的 init() 中:

this->setTouchEnabled(true);

并重写registerWithTouchDispatcher()

void Layer::registerWithTouchDispatcher(){
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,0,true);
}

对于标准代理

 virtual void ccTouchesBegan (CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesMoved (CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesEnded (CCSet *pTouches, CCEvent *pEvent);

在你的 init() 中:

this->setTouchEnabled(true);

如果在这里重写registerWithTouchDispatcher()。您应该在 init() 中调用 addStandardDelegate()

CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this,0);

关于c++ - 点击不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20374705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com