我正在使用Swift,Sprite-Kit和Xcode 6,
我有一个这样声明的类:
class Obstacles: SKSpriteNode
{
init(initTime: Int, speed: CGFloat, positionX: CGFloat, rotationSpeed: CGFloat)
{
self.initTime = initTime
self.rotationSpeed = rotationSpeed
self.positionX = positionX
super.init(texture: SKTexture(imageNamed: "Rectangle"), color: SKColor.redColor(), size: CGSize(width: 20, height: 20))
self.speed = speed
}
var initTime: Int
var positionX: CGFloat
var rotationSpeed: CGFloat = 0
}
所以我可以像这样给这个类分配一个变量:
var myVariable = Obstacles(initTime: 100, speed: 3.0, positionX: 10.0, rotationSpeed: 0.0)
但是,例如,如果我不想初始化rotationSpeed值并将其默认设置为0.0,我该如何设法做到这一点?我无法删除参数,这会导致我出错...
最佳答案
您想要的是为rotationSpeed设置默认值,但是您忘记了声明类型并分配默认值。不用说rotationSpeed: 0.0)
,而是使用rotationSpeed: CGFloat = 0
。使您的初始化程序如下所示:
init(initTime: Int, speed: CGFloat, positionX: CGFloat, rotationSpeed: CGFloat = 0)
您可能还会发现this这样的帖子也很有用