我使用以下代码将侦听器方法添加到cocos2dx中的Button:
button->addTouchEventListener(this, toucheventselector(HomeScene::doSomething));
但是由于Cocos2dx 3.1的toucheventselector和addTouchEventListener都被折旧了。有:
void addTouchEventListener(ccWidgetTouchCallback callback);
我无法使它工作 - 我尝试了我能找到的每一个宏 - callfuncO_selector,CC_CALLBACK等。我只是不知道如何指向我看起来像这样的方法:
void HomeScene::doSomething(Ref *pSender, Widget::TouchEventType type);
无法从Google,论坛,git,更改日志,测试中找到任何线索......
答案 0 :(得分:1)
好吧,我通常将我的按钮子类化并添加监听器。示例:http://cocos2d-x.org/wiki/How_To_Subclass_Sprite_And_Add_Event_Listeners
答案 1 :(得分:1)
您应该使用CC_CALLBACK_2宏。
答案 2 :(得分:0)
您也可以使用:
button->addTouchEventListener(CC_CALLBACK_2(HomeScene::doSomething,this));
解决这个问题: - )