2017-10-10 16 views
-3

J'essaie de faire un appareil de dessin avec des terrains de jeux rapides (application pour iPads). J'utilise le modèle de formes et j'ai pensé qu'il serait cool d'avoir une fonction qui génère une couleur aléatoire pour chaque ligne de dessin!Comment générer une couleur aléatoire avec swift

Fondamentalement ma question est: Comment puis-je générer une couleur aléatoire?

Merci de votre aide!

+0

Vous pouvez générer 3 nombre b/w 0-255 pour RVB et construire objet couleur –

Répondre

-1

Vous devez faire 3 couleurs aléatoires; un pour le rouge, le vert et le bleu. Et puis faites une nouvelle couleur avec les valeurs des variables! Ainsi, le code de la fonction serait

func getRandomColor() -> Color{ 

var randomRed:CGFloat = CGFloat(drand48()) 

var randomGreen:CGFloat = CGFloat(drand48()) 

var randomBlue:CGFloat = CGFloat(drand48()) 

return Color(red: Double(randomRed), green: Double(randomGreen), blue: Double(randomBlue), alpha: 1.0) 

} 
+0

Th Anks, cela a bien fonctionné! – Eskils

+1

Votre code est-il ici: https://stackoverflow.com/questions/44386192/how-to-set-different-colors-for-each-worddynamic-words-getting-from-server-in? – Larme

+1

btw si vous ne graine pas drand48 la première valeur sera toujours la même –

0

Vous pouvez étendre UIColor et ajouter un initialiseur personnalisé qui prend un seul UInt32 et utilise la initialiseur couleur HSB pour générer une couleur unie au hasard:

extension UIColor{ 
    static var random: UIColor { 
     return UIColor(hue: CGFloat(arc4random_uniform(.max))/CGFloat(UInt32.max), saturation: 1, brightness: 1, alpha: 1) 
    } 
} 

Utilisation:

let randomColor: UIColor = .random // r 0,835 g 0,0 b 1,0 a