我在这一行收到警告,指出方法 actionWithTarget 已被弃用。谁能告诉 cocos2dx 中可以使用哪种替代方法
CCCallFunc *callBackfunc = CCCallFunc::actionWithTarget(this,
callfunc_selector(GamePlay::startTrumphetAnimation));
谢谢
尝试这个:
CCCallFunc *func = CCCallFunc::create(this, callfunc_selector(GameOverScene::MyFunction));
//也声明这个函数
void GameOverScene::MyFunction(CCObject* sender)
{
}
如果您使用的是新版本的 Cocos2dx ,
auto funcCallAction = CallFunc::create([=](){
// TODO: do you stuff here
startTrumphetAnimation();
});
runAction(funcCallAction);
尝试这个
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)
{
}
这样写函数定义
无效 GamePlay::startTrumphetAnimation(CCObject* 发件人) {
}
如果您使用的是 COCOS2DX-3.0 或 3.14v
runAction( CallFunc::create([=]() { startTrumphetAnimation() }));
但是你应该在 GamePlay 类的任何方法中写下这一行。