我不明白,我绝对不能让它工作,我想要一系列动作来播放动画并使用CCAnimate
ans CCMoveTo
类来移动精灵。是否存在关于这些类的错误或特殊情况,因为在这样的行为的CCS序列中将它串起来时它不会移动或动画。
action = [CCSequence actions:
[CCMoveTo actionWithDuration:moveDuration position:touchLocation],
[CCAnimate actionWithAnimation:self.walkingAnim],
[CCCallFunc actionWithTarget:self selector:@selector(objectMoveEnded)], nil];
[self runAction:action];
我
答案 0 :(得分:3)
如果您希望移动和动画操作运行并行,您可以使用:
选项1 :使用CCSpawn而不是CCSequence。需要CCSequence,因为您希望在完成后调用函数。
id action = [CCSpawn actions:
[CCMoveTo actionWithDuration:moveDuration position:touchLocation],
[CCAnimate actionWithAnimation:self.walkingAnim],
nil];
id seq = [CCSequence actions:
action,
[CCCallFunc actionWithTarget:self selector:@selector(objectMoveEnded)],
nil];
[self runAction:seq];
Option2 :只需多次添加任何操作,即可在paralel中运行。由于func-call再次需要CCSequence:
id action = [CCSequence actions:
[CCMoveTo actionWithDuration:moveDuration position:touchLocation],
[CCCallFunc actionWithTarget:self selector:@selector(objectMoveEnded)],
nil];
[self runAction:action];
[self runAction:[CCAnimate actionWithAnimation:self.walkingAnim]];
答案 1 :(得分:1)
这个序列的作用是:
我打赌你打算单独和同时运行动作和动画动作(每个动作都有自己对runAction的调用),而不是在序列中。