如何基于四个可能的值生成随机SKSpriteNode

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

为了生成图像,我编写了以下功能。但是,我希望该函数能够生成四个可能的图像之一,而不是每次都生成相同的图像。现在,它每次都会生成“顶侧”图像,但是我希望它随机选择我必须生成的四个图像之一。

func spawnBrick()  {
    let Brick = SKSpriteNode(imageNamed: "Top Side")
    Brick.size = CGSize(width: 130, height: 100)
    Brick.position = CGPoint(x: frame.midX, y: frame.maxY - Brick.size.width)
    addChild(Brick)

}
enum brickType: UInt {
    case brickTop = 1
    case brickLeft = 2
    case brickRight = 3
    case brickBottom = 4

}


let brickTop = SKSpriteNode(imageNamed: "Top Side")

let brickLeft = SKSpriteNode(imageNamed: "Left Side")


let brickRight = SKSpriteNode(imageNamed: "Right Side")


let brickBottom = SKSpriteNode(imageNamed: "Bottom Side")
ios swift sprite skspritenode
1个回答
0
投票

Swift数组具有一个名为randomElement的方法,该方法将为您提供数组中的可选元素(由于数组可能为空,因此为可选元素)

https://developer.apple.com/documentation/swift/array/2994747-randomelement

func spawnBrick()  {
    let Brick = SKSpriteNode(imageNamed: ["Top Side","Left Side","Right Side","Bottom Side"].randomElement()!)
    Brick.size = CGSize(width: 130, height: 100)
    Brick.position = CGPoint(x: frame.midX, y: frame.maxY - Brick.size.width)
    addChild(Brick)

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