我正在快速制作一个简单的Dice类。
我希望使用骰子应具有的所需眼睛/侧面来调用Dice初始化程序。我有两个变量来设置边数的最小值和最大值,您应该可以在初始化时给定骰子...
但是,当我无法快速尝试try/catch时,如果用不属于该范围的数字初始化骰子,我不确定如何使init失败。
我的代码如下:
class Dice : SKSpriteNode {
let sides : UInt32
var score : Int
init(sides : Int){
let min_sides = 2
let max_sides = 6
self.sides = UInt32(sides)
self.score = 1
let imageName = "1.png"
let cardTexture = SKTexture(imageNamed: imageName)
super.init(texture: cardTexture, color: nil, size: CGSize(width: 100, height: 100))
userInteractionEnabled = true
}
最佳答案
请改用可失败的初始化程序。如果条件不满足,您可以从中返回nil
值
init?(sides : Int){
if sides > max_sides{
return nil
}
}