未调用菜单回调
menu callback in not called
我想在我的场景中添加两个按钮——"设置"answers"重启",放在所有东西的上方。我做了下面的操作[在我的init()中]:
auto settingsMenu = MenuItemImage::create("settings_gold@2x.png", "settings_white@2x.png",
CC_CALLBACK_1(GameLevelLayer::settingsButtonTapped, this));
settingsMenu->setPosition(Point(440, 280));
this->addChild(settingsMenu);
我还添加了触摸处理程序来处理游戏"动作",如下所示:
// handle user touches
auto dispatcher = Director::getInstance()->getEventDispatcher();
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = CC_CALLBACK_2(GameLevelLayer::onTouchBegan, this);
listener->onTouchEnded = CC_CALLBACK_2(GameLevelLayer::onTouchEnded, this);
dispatcher->addEventListenerWithSceneGraphPriority(listener, this);
我的onTouchBegan()和onTouchEnded()被调用的很好,但是settingsbuttontapping()从来没有被调用,因为触摸处理程序显然吞噬了一切。
在cocos2d- x3中应该如何处理?x,这样点击菜单调用settingsbuttontapping ()?
谢谢
同事建议cocos2d- x3。x的方法是使用ui:Button,而不是MenuItemImage。
将代码改为:
auto settingsButton = cocos2d::ui::Button::create();
settingsButton->setTouchEnabled(true);
settingsButton->loadTextures("settings_gold@2x.png", "settings_white@2x.png");
settingsButton->setPosition(Point(440, 270));
settingsButton->addTouchEventListener(CC_CALLBACK_2(GameLevelLayer::settingsButtonTapped, this));
this->addChild(settingsButton);
// handle user touches
auto dispatcher = Director::getInstance()->getEventDispatcher();
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = CC_CALLBACK_2(GameLevelLayer::onTouchBegan, this);
listener->onTouchEnded = CC_CALLBACK_2(GameLevelLayer::onTouchEnded, this);
dispatcher->addEventListenerWithSceneGraphPriority(listener, this);
现在,按下按钮调用按钮回调,图层上的触摸仍然被处理。
相关文章:
- 架构决策:返回std::future还是提供回调
- 正在为Xtensa simcall函数编写回调函数
- 如何在C++中使用非静态成员函数作为回调函数
- FLTK:按下哪个按钮 - 将数字传递给按钮的回调 (lambda)
- 在简单示例中,Python3 + ctypes 回调会导致内存泄漏
- 用于在回调中调用解析器的设计模式
- 如何使用C++对象的成员函数作为 C 样式回调?
- Java从C++回调到C++回调
- 如何将成员函数作为回调参数传递给需要"typedef-ed"自由函数指针的函数?
- 从不同的 cpp 调用回调函数会导致bad_function_call
- pcap_handler回调仅在使用 NPCAP v0.9991 时包含空数据包
- 不带轮询的 SDL2 事件回调
- C++存储带有可变参数的回调
- 如何使用 Node-addon-API 实现 node-nan 回调
- 处理影响跨不同线程共享对象的定时回调的最佳方法是什么?
- 访问类C++ C 样式回调
- 带有回调函数的cocos2d-x菜单项错误
- Cocos2d-X菜单回调引发异常
- 为菜单系统实现lua回调
- 未调用菜单回调