2016-03-01 1 views
0

Версия: cocos2d-х v3.10 код:Как использовать "addTouchEventListener (<# константный ccWidgetTouchCallback & обратного вызова #>)" в cocos2d-XV 3,10

Widget *xiaoruoBtn = (Widget*)rootNode->getChildByName("xiaoruoBtn");  
xiaoruo->addTouchEventListener(CC_CALLBACK_1(HelloWorld::onClickCallBack, this)); 

void HelloWorld::onClickCallBack(Ref* pSender, TouchEventType type){ 
    switch (type) { 
     ... 
    } 
} 

вопрос: я использую "addTouchEventListener" в Xcode, но он всегда говорит мне: «Нет подходящей функции-члена для вызова addTouchEventListener».

+0

Согласно кода, 'xiaoruo' должен быть' xiaoruoBtn'. В противном случае вам лучше указать объявление 'xiaoruo'. – GaloisPlusPlus

ответ

0

Вы должны заменить CC_CALLBACK_1 его с CC_CALLBACK_2:

xiaoruo->addTouchEventListener(CC_CALLBACK_2(HelloWorld::onClickCallBack, this)); 
+0

Я изменяю код, как вы сказали, но он по-прежнему ошибочен с «Нет соответствия ......». Я нахожу API в Xcode, но я не могу его использовать. Он всегда говорил мне «Нет соответствующего члена .......». –

+0

Просто, чтобы уточнить ... где вы называете xiaoruo-> addTouchEventListener? Этот вызов должен быть где-то внутри класса HelloWorld. – 0xDEADBEEF

0

вы можете изменить

CC_CALLBACK_1(HelloWorld::onClickCallBack, this 

в

this,toucheventselector(HelloWorld::onClickCallBack)