如何根据四个可能的值生成随机 SKSpriteNode
Posted
技术标签:
【中文标题】如何根据四个可能的值生成随机 SKSpriteNode【英文标题】:How to generate a random SKSpriteNode based on four possible values 【发布时间】:2020-02-12 00:59:26 【问题描述】:为了生成图像,我编写了以下函数。但是,我希望该函数能够生成四个可能的图像之一,而不是每次都生成相同的图像。现在它每次都会生成“Top Side”图像,但我希望它随机选择我必须生成的四个图像之一。
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")
【问题讨论】:
【参考方案1】: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)
【讨论】:
以上是关于如何根据四个可能的值生成随机 SKSpriteNode的主要内容,如果未能解决你的问题,请参考以下文章