cocos2dx中的CCCallFunc用法

时间:2013-04-18 09:07:05

标签: c++ cocos2d-x

我在这一行收到警告,说明方法actionWithTarget已被弃用。 任何人都可以告诉cocos2dx可以使用哪种替代方法

CCCallFunc *callBackfunc = CCCallFunc::actionWithTarget(this,
                           callfunc_selector(GamePlay::startTrumphetAnimation));

由于

5 个答案:

答案 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的任何方法中写下这一行。