就是想问 我写了个 onTouchesBegan 在方法里面写了个log 但是每次点击会打印出两个log 这个 是什么情况怎么解决??
楼主可以测试下TestCpp。
我写多点触控也触发了两次
楼主找到问题没?我也遇到了这个问题
void HelloWorld::jumpCallback(Ref* pSender, Widget::TouchEventType touchType)
{
if (touchType == Widget::TouchEventType::ENDED)
。。。。
有一个类型判断,如果你想触摸结束后触发,可以这样写 if (touchType == Widget::TouchEventType::ENDED)。。
如果你想触摸开始时触发,可以这样写 if (touchType == Widget::TouchEventType::BEGAN)。
调用如下代码:
bool GameLayer::init()
{
auto listener1 = EventListenerTouchAllAtOnce::create();
listener1->onTouchesBegan = CC_CALLBACK_2(GameLayer::onTouchesBegan, this);
listener1->onTouchesMoved = NULL;
listener1->onTouchesEnded = NULL;
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, this);
如果再调用
this->setTouchEnabled(true);
则函数GameLayer::onTouchesBegan(。。。)会被调用两次。
正解,新手遇到比较多的问题,多谢大神解答