从Cocos2d转换为Cocos2d-X

时间:2014-01-07 06:45:13

标签: c++ objective-c cocos2d-iphone cocos2d-x translate

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

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

有人可以帮我把它翻译成Cocos2d-X中的Cocos2d吗?

亲切的问候,

2 个答案:

答案 0 :(得分:1)

试试这个..

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

在你的代码中,myMethod被"选择器"的索引0处的选择器替换。我猜的是选择器的数组或字典或类似的东西。 和" sc"是一个预定义的动作,将在spriteBg上运行。

答案 1 :(得分:0)

对于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中的每个类都具有相同的名称,因此您可以在文档中轻松找到它: CCSequence CCCalFuncO