2
私は現在、2つの異なるボール/バブル(プレーヤーと敵)を特徴とする新しいゲームを作成中です。私はこれらの両方をランダムに異なる時間にランダムに生成しようとしています(例えば、プレーヤー、敵、プレーヤー、プレーヤーなど(任意の順序ではありません))が、ゲームが進行してプレイヤーが再起動したゲーム。私は解決策を見いだそうとしている。私はスイッチケースを試しましたが、プレイヤーまたは敵のいずれかだけがゲームごとにスポーンします。誰にも解決策がありますか?他のコードが必要な場合は、私はそれを提供します。ランダムに異なるノードを生成する
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
}
}