【发布时间】:2017-06-17 20:47:51
【问题描述】:
我正在尝试使用以下代码在启动时将场景背景颜色设置为随机颜色。
func randomColor() -> UIColor{
//Generate between 0 to 1
let red:CGFloat = CGFloat(drand48())
let green:CGFloat = CGFloat(drand48())
let blue:CGFloat = CGFloat(drand48())
return UIColor(red:red, green: green, blue: blue, alpha: 1.0)
}
override func didMove(to view: SKView) {
self.backgroundColor = randomColor()
}
我在我的程序中的其他地方使用代码并且它按预期工作但是当我尝试使用相同的功能设置场景背景颜色时,它总是加载相同的绿色。任何想法是为什么?
【问题讨论】:
-
请改用
arc4random_uniform()。它不需要随机种子,并且会按您的预期工作。 -
@Mick bro 你能用
var red: CGFloat = arc4random() % 255 / 255.0 // Or (recommended): var red: CGFloat = arc4random_uniform(255) / 255.0替换代码吗?如果可以,请告诉我。 -
谢谢,这似乎奏效了。
-
值应该在
0.0和1.0之间。