从Cocos2d到Cocos2d-X的翻译

Translating from Cocos2d to Cocos2d-X

本文关键字:翻译 Cocos2d-X Cocos2d      更新时间:2023-10-16

我正在将一段代码从cococs2D转换为cocos2D-X。我遇到了以下几行我无法理解如何翻译

[spriteBg runAction:[CCSequence actions:sc,[CCCallFuncO actionWithTarget:basketTimer_ selector:NSSelectorFromString([selectors objectAtIndex:0]) object:sprite], nil]];

有人能帮我把这个翻译成Cocos2d-X中的Cocos2d吗?

诚挚的问候,

试试这个。。

spriteBg->runAction::create(CCSequence::create(sc,CCCallFunc::create(this, callfunc_selector(myMethod)),NULL));

在您的代码中,myMethod被"选择器"索引0处的选择器所取代,我猜这是一个选择器数组或字典之类的东西。"sc"是要在spriteBg上运行的预定义动作。

对于cocos2d-x v 2.2.1:

NSSelectorFromString([selectors-objectAtIndex:0]<-在cocos2d-x中,您不能从字符串创建选择器,所以您必须知道要调用的函数,或者将选择器保留在容器中(但我从未这样做)

CCCalFuncO *call = CCCallFuncO::create(basketTimer_, callfuncO_selector(BasketTimerClass::BasketTimerMethod), sprite)
spriteBg->runAction(CCSequence::create(sc, call, NULL));

cocos2d-x和cocos2d-iphone中的每个类都有相同的名称,因此您可以在文档中找到它:CCS序列CCCalFuncO