在SpriteKit中产生敌人的波浪

问题描述 投票:-1回答:1

我实际上在做太空射击游戏。我有一个在随机位置随机产生敌人的函数:

let enemyShip = EnemyShip(enemyImage: enemyImageShip, life: enemyShipLife, nodeName: nodeNameEnemy, gameScene: game)
   enemyShip.definitionPhysicsBody()

    game.addChild(enemyShip)

    let spawn = ToolMaths.random(min: gameZone.minX + enemyShip.size.width, max: gameZone.maxX - enemyShip.size.width)
    enemyShip.position = CGPoint(x: spawn, y: game.size.height )
    let moveEnemyShip = SKAction.moveTo(y: 0, duration: 1.8)

     let removeEnemyShip = SKAction.removeFromParent()

    let enemyShipSequence = SKAction.sequence([moveEnemyShip, removeEnemyShip])
    enemyShip.run(enemyShipSequence)

现在我想创建一个波浪系统,如:

波1:一个敌人产生波2:两个敌人产生波3:三个敌人等

我怎样才能做到这一点 ?谢谢

swift sprite-kit
1个回答
0
投票

我想,控制和流动是你正在寻找的东西。

他们会让你预先确定在一个波浪中创造了多少敌人,你有多少波,以及后续波中敌人之间的差异。

可以这样想:

If Wave = 1, Enemies = 1
When Wave Finished, Wave = Wave + 1
If Wave = 2, Enemies = Enemies + Wave
When Wave Finished, Wave = Wave + 1
If Wave = 3, Enemies = Enemies + Wave

这会给你:

  • 第1波与1敌人
  • 波2与3个敌人
  • 第3波与6个敌人

Swift有几种方法可以控制游戏的流程。每个都有自己的优点,每个都可以使用......这几乎是个人的选择。你可以在这里阅读它们:

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/ControlFlow.html

© www.soinside.com 2019 - 2024. All rights reserved.