我正在尝试在 SKAction moveTo 操作完成后重新定位我的精灵。我已将敌人编程为从 (self.frame.size.width/2, 0) 进入屏幕。它们仅在 y 轴上移动。当它们的 y 位置大于 (self.frame.size.height) 时,我想将它们重新定位到初始位置,并以相同的方式一次又一次地移动它们,直到玩家杀死所有敌人。我在这一点上苦苦挣扎。我应该添加哪一部分代码?有任何想法吗?此代码可能会帮助您理解我的实现:
-(void) addEnemies {
for (int j = 0; j < 6; j++) {
SKSpriteNode* enemy = [SKSpriteNode spriteNodeWithImageNamed:@"player"];
enemy.position = CGPointMake(((self.frame.size.width) -20) - j * (enemy.frame.size.width) , 0);
CGPoint realDest = CGPointMake((enemy.position.x), (self.frame.size.height));
float velocity = 50/1.0;
float realMoveDuration = self.size.height / velocity;
SKAction * actionMove = [SKAction moveTo:realDest duration:realMoveDuration];
[enemy runAction:actionMove];
[self addChild:enemy];
}
}