【发布时间】:2016-03-21 08:10:43
【问题描述】:
我有一个包含许多精灵的 ui::ScrollView。
我已经创建了每个精灵,并通过执行以下操作为每个精灵添加了一个触摸侦听器:
for(int i=0; i < 5; i++){
Sprite* foo = Sprite::createWithSpriteFrameName("foo");
myScrollView->addChild(foo);
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = [this,somestring](Touch* touch, Event* event){
......some code
};
listener->onTouchMoved = [foo,this,somestring](Touch* touch, Event* event){
......some code
};
listener->onTouchEnded = [foo,this,somestring](Touch* touch, Event* event){
......some code
};
foo->getEventDispatcher->addEventListenerWithSceneGraphPriority(listener1,foo);
}
问题是,如果我点击屏幕上的任何地方,它似乎会触发循环中创建的所有精灵的触摸事件。我创建侦听器的方式有什么不正确,还是与 ui::ScrollView 中的触摸冲突有关?
我正在使用 v 3.10
【问题讨论】:
标签: cocos2d-x cocos2d-x-3.0 cocos2d-x-3.x