我正在为IOS编写Bullet Hell类型的游戏,在这个游戏中,有不同类型的敌人在屏幕上传播。要执行此移动,在调用子(或克隆)创建函数时使用SKAction序列。第一个动作涉及将敌人(一个SKSpriteNode)移动到屏幕的底部,第二个动作将子进程从父进程中移除,实际上将其删除。
let action = SKAction.moveToY(-enemyT1.size.height, duration: 3.0);
let actionDone = SKAction.removeFromParent();
enemyT1.runAction(SKAction.sequence([action, actionDone]));
self.addChild(enemyT1);
但是,有一种情况是必须在到达屏幕末尾之前删除子项,我想知道是否可以在不使用初始删除导致错误的情况下删除不同条件代码块中的子项(或者亦然)。
if(enemyT1Healths[indexOfEnemy!] <= 0){
enemyT1.removeFromParent();
enemyT1Sprites.removeAtIndex(indexOfEnemy!);
enemyT1HealthBars[indexOfEnemy!].removeFromParent();
enemyT1HealthBars.removeAtIndex(indexOfEnemy!);
enemyT1Healths.removeAtIndex(indexOfEnemy!);
}