Ich bin gerade dabei, ein neues Spiel zu erstellen, das zwei verschiedene Bälle/Blasen (einen Spieler und einen Gegner) enthalten wird. Ich versuche, beide zufällig zu verschiedenen Zeiten zu spawnen (zB Spieler, Gegner, Spieler, Spieler usw. (nicht in beliebiger Reihenfolge)), aber zufällig, während das Spiel weitergeht und nachdem der Spieler neu startet das Spiel. Ich habe Probleme, eine Lösung zu finden. Ich habe einen Switch-Fall ausprobiert, aber nur entweder der Spieler oder der Gegner wird pro Spiel erscheinen. Hat jemand eine Lösung? Wenn ein anderer Code benötigt wird, werde ich es bereitstellen.Verschiedene Knoten nach dem Zufallsprinzip erzeugen
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
/* Called when a touch begins */
if (gamestarted == false) {
gamestarted = true
/*Player and Enemy random spawner*/
ballSwitchCase()
/*Tap to start*/
tts.removeFromParent()
} else {
/*removed unnecessary code for question*/
}
func mainBallSpawner() {
/*Main ball*/
let spawn = SKAction.runBlock({
()in
self.creatingTheBall()
})
let delay = SKAction.waitForDuration(3.0)
let spawnDelay = SKAction.sequence([spawn, delay])
let spawnDelayForever = SKAction.repeatActionForever(spawnDelay)
self.runAction(spawnDelayForever, withKey: "spawnDelayForever")
let distance = CGFloat(self.frame.height + 170 + gameBall.frame.width)
let moveBalls = SKAction.moveToY(-distance, duration: NSTimeInterval(0.008 * distance))
let removeBalls = SKAction.removeFromParent()
moveAndRemoveBalls = SKAction.sequence([moveBalls, removeBalls])
}
func enemySpawner() {
/*Enemy*/
let spawnEnemy = SKAction.runBlock({
()in
self.creatingEnemyBall()
})
let delayEnemy = SKAction.waitForDuration(3.0)
let spawnDelayEnemy = SKAction.sequence([spawnEnemy, delayEnemy])
let spawnDelayEnemyForever = SKAction.repeatActionForever(spawnDelayEnemy)
self.runAction(spawnDelayEnemyForever, withKey: "spawnDelayEnemyForever")
let enemyDistance = CGFloat(self.frame.height + 170 + enemyBall.frame.width)
let moveEnemy = SKAction.moveToY(-enemyDistance, duration: NSTimeInterval(0.008 * enemyDistance))
let removeEnemy = SKAction.removeFromParent()
moveAndRemoveEnemy = SKAction.sequence([moveEnemy, removeEnemy])
}
func ballSwitchCase() {
let spawnRandomBall = arc4random_uniform(2)
switch spawnRandomBall {
case 0:
mainBallSpawner()
break
case 1:
enemySpawner()
break
default:
break
}
}