所以,我有一个基本的游戏场景:
一些单位靠近敌方单位,发射弹丸,然后调整敌方单位的生命。我的问题是我不确定如何安排这三个事件一个接一个地运行。如果所有这些操作都在同一个目标上完成,那么这将非常容易,但是有两个不同的目标。
这样做的最佳方法是什么?
代码如下所示:
Unit* unit = [self getActiveUnit];
Unit* enemy = [self getEnemyInRange:unit];
CGpoint A = unit.sprite.position;
CGPoint B = [self getPositionClose:enemy for:unit];
CCSequence* unitMove = [self generateUnitMoveFrom:A to:B];
Projectile* proj = [self generateProjectile];
CCSequence* projMove = [self generateProjMoveFrom:A to:B];
CCSequence* attackDone = [self generateAttackDoneFor:unit enemy:enemy];
// This is the part that i don't know how to do
// Execute these in order and sequentially, not at the same time
[unit.sprite runAction:unitMove];
[proj.sprite runAction:projMove];
[proj.sprite runAction:removeSprite];
[self runAction:attackDone];
做到这一点的最佳方法是什么?即使使用 CCActionManager 它似乎仍然相当复杂,因为我认为我必须在所有这些操作之间添加一个额外的回调才能恢复下一个目标的预定操作。
有任何想法吗?
谢谢!