2016-10-01 2 views
0

J'ai le code suivant dans la méthode func draw (_robrect: NSRect) mais toutes les lignes sont dessinées avec la même couleur même si elles doivent être randomisées. J'ai lu que cela a peut-être quelque chose à voir avec fps mais est-il possible de le dessiner de façon multicolore? Merci pour tout conseil.Plusieurs couleurs dessinées pour NSBezierPath dans le cycle

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

Répondre

0

Enfin, je trouve la solution ou au moins solution - je mets déclaration de

let point = NSBezierPath() 

en boucle interne « x » et il fonctionne comme prévu. Je ne sais pas si c'est la solution la plus efficace et la plus appropriée, donc d'autres suggestions sont les bienvenues.