根据 Swift 中的可能值随机生成一个 SKSpriteNode

Randomly generating a SKSpriteNode based on possible values in Swift

我们有两个 SKSpriteNode 的自定义子类。

一个叫circleNode,另一个叫triangleNode。 circle 选项有三种子类型,它们是使用传入枚举的自定义 init 方法创建的。

例如:

enum CircleType: UInt {
    case Circle1 = 1
    case Circle2 = 2
    case Circle3 = 3
}

class TapCircleIcon : SKSpriteNode
{
    convenience init(typeOfCircle: CircleType) {

游戏场景内
在游戏场景中,我们控制生成精灵节点。一共有4个不同的选项,circle1,circle2,circle3和triangle。

问题
swift 中随机 select 生成其中一个精灵的最佳方法是什么?根据结果​​,我们可以初始化正确的精灵,例如 TapCircleIcon(typeOfCircle: CircleType.Circle2)

随机select某事arc4random和它的朋友都很好。我对 CircleType 的看法:

let ct = CircleType(rawValue: UInt(arc4random_uniform(3) + 1))

http://nshipster.com/random/ 中所述 arc4random_uniform(N)0N-1 之间传递一个随机整数。