gpt4 book ai didi

xcode - 为随机 SKColor 分配一个值

转载 作者:行者123 更新时间:2023-11-30 10:12:16 24 4
gpt4 key购买 nike

我有以下代码。

func random() -> CGFloat {
return CGFloat(arc4random_uniform(100))/100
}

func niceRandomColor() -> SKColor {
println(random())
return SKColor(hue: random(), saturation: 1.0, brightness: 1.0, alpha: 1.0)
}

这段代码为我生成了一个随机颜色,我将其分配给 3 个 SKNode,它们每秒随机生成一个由“niceRandomColor()”生成的随机颜色。当我检查 println(random()) 时,它显示一个介于 0.00 和 0.99 之间的数字。

我已经为我的 SKNode 分配了一个名为“p1.name = random().description”的名称。我正在尝试将 SKNode 名称分配给随机生成的颜色。然而,无论出于何种原因,如果颜色产生 0.5,我的 p1 的名称将是 0.7 或其他。它与产生的颜色不匹配......

这是为什么呢?谢谢

最佳答案

每次调用 random() 时,您都会请求一个新号码。

您的 println 要求一个随机数,而您的 SKColor 初始化程序则要求另一个随机数。如果您想将特定号码用于多种用途,请将其保存到变量中并访问该变量,而不是进行新的调用。

如果您需要访问调用random()的地方之外的色调,您可以从SKColor获取它。例如:

var clr = niceRandomColor()

var hue: CGFloat = 0.0
var saturation: CGFloat = 0.0
var brightness: CGFloat = 0.0
var alpha: CGFloat = 0.0

if clr.getHue(&hue, saturation: &saturation, brightness: &brightness, alpha: &alpha) {
println("\(hue)")
} else {
println("Call failed")
}

关于xcode - 为随机 SKColor 分配一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32311455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com