首页 > 解决方案 > 使用 ARkit 生成多个对象

问题描述

我如何产生不止一种类型的敌人?它们的标记方式有小、中和大。

 func spawnAlien(numAliens: Int) -> Alien?{ // Decides whether an alien should be spawned
    guard numAliens < maxAliens else { return nil }
    spawnCount += 1
    if(spawnCount == spawnFreq){
        spawnCount = 0
        if(arc4random_uniform(spawnProb) == 0){
            return Alien(health: 1, power: 1, shotFreq: 60, shotProbHigh: 10, shotProbLow: 2, type: .small)

        }
    }
    return nil
}

标签: iosswiftarkit

解决方案


你这里的这个功能 return Alien(health: 1, power: 1, shotFreq: 60, shotProbHigh: 10, shotProbLow: 2, type: .small) 只占.small.

您可能可以将其更改为.medium.large

如果你想随机产生不同的类型,你可以使用另一种arc4random_uniform来确定随机类型。

var typeToBeRandomized = .small
let randomValue = arc4random_uniform(3)

if randomValue == 1 {
typeToBeRandomized = .medium
} else if randomValue == 2 {
typeToBeRandomized = .large
}

现在将其传递typeToBeRandomized给您上面的 Alien 构造函数,而不是硬编码.small


推荐阅读