我在这一行收到警告,说明方法actionWithTarget已被弃用。 任何人都可以告诉cocos2dx可以使用哪种替代方法
CCCallFunc *callBackfunc = CCCallFunc::actionWithTarget(this,
callfunc_selector(GamePlay::startTrumphetAnimation));
由于
答案 0 :(得分:4)
试试这个:
CCCallFunc *func = CCCallFunc::create(this, callfunc_selector(GameOverScene::MyFunction));
//也声明了这个功能
void GameOverScene::MyFunction(CCObject* sender)
{
}
答案 1 :(得分:0)
如果您使用的是新版Cocos2dx,
auto funcCallAction = CallFunc::create([=](){
// TODO: do you stuff here
startTrumphetAnimation();
});
runAction(funcCallAction);
答案 2 :(得分:0)
试试这个
CCCallFunc *calFunc = CCCalFunc::create(this,callfunc_selector(ClassName::methodName));
如果您使用的是cocos2dx v3:
CallFunc *calFunc = CalFunc::create(CC_CALLBACK_1(ClassName::methodName,this));
void ClassName::methodName(Ref* sender)
{
}
答案 3 :(得分:0)
以这种方式编写函数定义
void GamePlay :: startTrumphetAnimation(CCObject * sender) {
}
答案 4 :(得分:0)
如果您使用的是COCOS2DX-3.0或3.14v
runAction( CallFunc::create([=]() { startTrumphetAnimation() }));
但你应该在GamePlay Class的任何方法中写下这一行。