循环为 NSBezierPath 绘制的多种颜色
Multiple colors drawn for NSBezierPath in cycle
我在 func draw(_ dirtyRect: NSRect) 方法中有以下代码,但是所有的线都是用相同的颜色绘制的,即使它应该是随机的。我读到它可能与 fps 有关,但有什么方法可以将它绘制成彩色吗?
感谢您的任何提示。
for y in 1...3 {
for x in 1...20 {
switch arc4random_uniform(5) {
case 0:
color = NSColor.red
case 1:
color = NSColor.purple
case 2:
color = NSColor.green
case 3:
color = NSColor.blue
case 4:
color = NSColor.yellow
default:
color = NSColor.yellow
}
point.move(to: NSPoint(x: x*10, y: y))
point.line(to: NSPoint(x: x*10, y: y+100))
color.setStroke()
point.stroke()
}
}
最后我找到了解决方案或至少是解决方法 - 我声明了
let point = NSBezierPath()
进入内部 "x" 循环,它按预期工作。不确定它是否是最有效和正确的解决方案,因此欢迎任何进一步的建议。
我在 func draw(_ dirtyRect: NSRect) 方法中有以下代码,但是所有的线都是用相同的颜色绘制的,即使它应该是随机的。我读到它可能与 fps 有关,但有什么方法可以将它绘制成彩色吗? 感谢您的任何提示。
for y in 1...3 {
for x in 1...20 {
switch arc4random_uniform(5) {
case 0:
color = NSColor.red
case 1:
color = NSColor.purple
case 2:
color = NSColor.green
case 3:
color = NSColor.blue
case 4:
color = NSColor.yellow
default:
color = NSColor.yellow
}
point.move(to: NSPoint(x: x*10, y: y))
point.line(to: NSPoint(x: x*10, y: y+100))
color.setStroke()
point.stroke()
}
}
最后我找到了解决方案或至少是解决方法 - 我声明了
let point = NSBezierPath()
进入内部 "x" 循环,它按预期工作。不确定它是否是最有效和正确的解决方案,因此欢迎任何进一步的建议。