我有一个UIColor extension与enum命名为myColors:
enum myColors {
static let backgroundColor = UIColor(hex: "#373737")
static let strokeColor = UIColor(hex: "#FFFCF9")
static let red = UIColor(hex: "#FF6978")
static let green = UIColor(hex: "#BCE784")
static let blue = UIColor(hex: "#B1DDF1")
static let yellow = UIColor(hex: "#FFFD98")
static let purple = UIColor(hex: "#A09ABC")
}
Run Code Online (Sandbox Code Playgroud)
我试图将sprite颜色随机设置为这些颜色之一(红色,绿色,蓝色,黄色,紫色).我在Stack Overflow上找到的答案很少,但没有一个有用.我试着这样做:
let sprite = Player(x,y,color: myColors(rawValue: myColors.purple.rawValue+1)
Run Code Online (Sandbox Code Playgroud)
但它没有用.紫色是枚举的最后一项,所以我选择了它.
我建议避免存储对象UIColor内部的enum,我的方法:
enum myColors: String {
case backgroundColor = "#373737"
case strokeColor = "#FFFCF9"
case red = "#FF6978"
case green = "#BCE784"
case blue = "#B1DDF1"
case yellow = "#FFFD98"
case purple = "#A09ABC"
static func randomColor() -> UIColor {
let colorsToGetRandomly = [myColors.red, myColors.green, myColors.blue, myColors.yellow, myColors.purple]
let index = Int(arc4random_uniform(UInt32(colorsToGetRandomly.count)))
let color = colorsToGetRandomly[index].rawValue
return UIColor(hex: color)
}
}
myColors.randomColor()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1898 次 |
| 最近记录: |