cocos2dx 3.x版本无法监听到menu的触摸
cocos2d吧
全部回复
仅看楼主
level 8
dadaaiai502 楼主
在一个图层里面添加了一个Menu, 但是不想直接用回调函数,因为想通过触摸滑动实现特殊效果
所以init 函数后
setTouchEnabled(true);
auto listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(true);
listener->onTouchBegan = [&](Touch* touch, Event *event) {
bool bIsTouched= m_pNodeSureBtn->onTouchBegan(touch, event);
};
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
bIsTouched 永远是flase,难道menu不能响应触摸事件吗>>>
然后使用
setTouchEnabled(true);
auto listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(true);
listener->onTouchBegan = [&](Touch* touch, Event *event) {
bool bIsTouched= m_pNodeSureBtn->getBoundBox().containsPoint(touch->getLocation());
};
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
这样稍微偏移menu一点的地方触摸就会响应,但是在menu上面点击无效果 求解 求解
2018年01月06日 14点01分 1
level 1
m_pNodeSureBtn 这个在lambda里改为传值试试,如果不行,看看是不是触摸被其他的吞噬
2018年02月27日 19点02分 2
level 1
m_pNodeSureBtn 这个在lambda里改为传值试试,如果不行,看看是不是触摸被其他的吞噬
2018年02月27日 19点02分 3
1