2014-05-23 128 views
3

我用下面的代碼來監聽方法添加到按鈕在cocos2dx:如何在Cocos2dx 3.1中添加觸摸事件偵聽器?

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的,更改日誌,測試任何線索......

回答

1

您應該使用CC_CALLBACK_2宏。

+0

@filip請寫在這裏更多的細節。我有同樣的問題,不知道如何解決。我以爲我應該使用'Widget :: ccWidgetTouchCallback'? – Narek

+0

正如Lazar建議的那樣,您應該使用CC_CALLBACK_2宏而不是ccWidgetTouchCallback,因爲在Cocos2dx 3.1 AFIK中沒有這樣的事情。 – filip

+0

@filip感謝您的回答。你知道是否可以設置爲一個監聽器而不是一個類方法,而是一個lambda函數? – Narek

0

您也可以使用此:

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

來解決這個問題:-)

相關問題