我正在研究cocos2d V3.x项目(SpriteBuilder V1.2.1)。目前正在尝试在CCSprite上延迟运行此操作序列。我不确定是否有问题,或者我只是不明白CCActionSequence是如何工作的。
我希望动作'a'开始,完成(2s后)延迟(5s),然后调用两个函数(动作'c'和'd')。但是在模拟器中,顺序是错误的(在'c'之前调用'd'),并且在'a'开始旋转后大约1s调用它们。
我做错了吗?如果这是CCActionSquence工作的实际方式,我该怎么做才能使它按照我在前一段中解释的方式工作?
CCAction *a = [CCActionRotateBy actionWithDuration:2 angle:360];
CCAction *b = [CCActionDelay actionWithDuration:5];
CCAction *c = [CCActionCallFunc actionWithTarget:self selector:@selector(limpiarSeleccionadas)];
CCAction *d = [CCActionCallFunc actionWithTarget:self selector:@selector(endTurn)];
[[_arregloBolitas objectAtIndex:random] runAction:[CCActionSequence actionWithArray:@[a,b,c,d]]];
谢谢!
答案 0 :(得分:0)
你可以采取行动' c'并且' d'在CCSpawn
中,然后它们将同时运行。还可以使用CCDelayTime
来延迟最后两个操作。
请试试这个
CCAction *a = [CCActionRotateBy actionWithDuration:2 angle:360];
CCAction *b = [CCDelayTime actionWithDuration:5];
CCAction *c = [CCCallFunc actionWithTarget:self selector:@selector(limpiarSeleccionadas)];
CCAction *d = [CCCallFunc actionWithTarget:self selector:@selector(endTurn)];
[[_arregloBolitas objectAtIndex:random] runAction:[CCSequence actions: a, b, c, d, nil]];
我没有你的环境,你可能需要修改一下。感谢。