导入了编辑器中的场景后,多点触摸监听无效 3.0rc1

Scene* GameScene::createScene()
{
auto scene = Scene::create();

auto layer = GameScene::create();

scene->addChild(layer);

// return the scene
return scene;

}

bool GameScene::init()
{
if (!Layer::init())
{
return false;
}

Size visibleSize = Director::getInstance()->getVisibleSize();
Point origin = Director::getInstance()->getVisibleOrigin();
Node *bgNode = cocostudio::SceneReader::getInstance()->createNodeWithSceneFile("publish/GameScene.json");
auto Quasi_heart = Sprite::create("CloseNormal.png");
Quasi_heart->setPosition(Point(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 2));

auto optionListener = EventListenerTouchAllAtOnce::create();
optionListener->onTouchesBegan = CC_CALLBACK_2(GameScene::onTouchesBegan, this);
optionListener->onTouchesMoved = CC_CALLBACK_2(GameScene::onTouchesMoved, this);
optionListener->onTouchesEnded = CC_CALLBACK_2(GameScene::onTouchesEnded, this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(optionListener, this);

this->addChild(Quasi_heart, 1);
this->addChild(bgNode, 0);
return true;

}
void GameScene::onTouchesBegan(const std::vector<Touch*>& touches, Event *event)
{
log(“Touch began”);
}

void GameScene::onTouchesMoved(const std::vector<Touch*>& touches, Event *event)
{
log(“Touch Moved”);
}

void GameScene::onTouchesEnded(const std::vector<Touch*>& touches, Event *event)
{
log(“Touch Ended”);
}

多点触摸无效…但是单点却可以.

风挽叶子 你好:
参考一下rc1版本的testcpp, EventDispather例子。

我很奇怪的一件事就是…我把UI编辑器里所有对象的交互取消勾…多点触控就可以响应了…勾上交互就不行…
可是我的listener明明是绑在另一个层上.

我也碰到了和你一样的问题。

— Begin quote from ____

引用第3楼losingle于2014-04-09 00:49发表的 :
我也碰到了和你一样的问题。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=197191&pid=921525

— End quote

我的理解是cocosdio的组件有另一套独立的eventDistpacher…

但是在不同的layer中也无效,我觉得好费解