3

我使用以下代码将侦听器方法添加到 cocos2dx 中的按钮:

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);

无法从谷歌、论坛、git、更改日志、测试中找到任何线索...

4

3 回答 3

1

您应该使用 CC_CALLBACK_2 宏。

于 2014-05-23T20:34:11.047 回答
1

好吧,我通常将我的按钮子类化并为其添加侦听器。示例:http ://cocos2d-x.org/wiki/How_To_Subclass_Sprite_And_Add_Event_Listeners

于 2014-05-23T01:02:04.857 回答
0

你也可以使用这个:

button->addTouchEventListener(CC_CALLBACK_2(HomeScene::doSomething,this)); 

解决这个问题:-)

于 2014-08-04T16:23:02.763 回答