2016-10-01 4 views
0

func draw(_ dirtyRect:NSRect)メソッドには次のコードがありますが、すべての行はランダム化する必要がある場合でも同じ色で描画されます。私はそれがfpsと何か関係があるかもしれないが、それを多色で描く方法はあるのだろうか? ありがとうございます。NSBezierPathの複数の色をサイクルで描画しました

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()  
    } 
} 

答えて

0

は最後に、私は、溶液または少なくとも回避策を見つけた - 私は、内の「x」ループに

let point = NSBezierPath() 

の宣言を入れて、期待どおりに動作します。それが `mos効率的かつ適切な解決策であるかどうかわからないので、これ以上の提案は大歓迎です。

関連する問題