2013-12-09 38 views
0

我已经使用CCSequence,但我无法使用CCRepeatForEver。如何脉冲精灵,直到触摸屏幕上的cocos2d-x为Android?

CCFiniteTimeAction * S = CCSequence ::动作( CCScaleBy :: actionWithDuration(1,1.0),enter code here CCScaleBy :: actionWithDuration(1,-1.0), CCScaleBy :: actionWithDuration(1,1.0), CCScaleBy :: actionWithDuration(1,-1.0), CCScaleBy :: actionWithDuration(1,1.0), CCScaleBy :: actionWithDuration(1,-1.0),NULL); circle-> runAction(s);

我想在android的cocos2d-x中使用CCRepeatForEver。 请帮助我。

在此先感谢。

回答

1

那么,你为什么不使用它?它不在你的代码中。还有什么esxactly做“我无法使用CCRepeatForever”是什么意思?你有编译错误或运行时?

看着你的代码,问题是你将一个CCSequence分配给一个CCFiniteTimeAction类型,并且CCRepeatForever需要一个CCActionInterval类型。这是继承如何去:

CCSequence -> CCActionInterval -> CCFiniteTimeAction -> … 

所以这是完全合法的,做你做了什么,但不会CCRepeatForever工作,因为它不知道如何处理您提供的类型做。因此,要使其工作,你需要在两个地方更改代码:

CCActionInterval *s = CCSequence::create(…); 
//or 
CCSequence *s = CCSequence::create(…); 
//and at the end 
circle->runAction(CCRepeatForever::create(s)); 

此外,如果你发现,我已经改变了CCSequence::actionsCCSequence::create,因为这是应该的方式。