0
Я пытаюсь очистить свой код, переместив его в разные классы в Swift. Однако при настройке класса меня путают инициализаторы. Я хочу передать только параметр позиции и размер параметра при настройке нового прямоугольника.Как настроить новый файл класса в Swift
let rectangle = SKShapeNode(rectOfSize: CGSize(width:390, height:200))
rectangle.position = CGPointMake(frame.midX-10, frame.midY + 50)
rectangle.strokeColor = SKColor.blackColor()
rectangle.glowWidth = 1.0
rectangle.physicsBody = SKPhysicsBody(edgeChainFromPath: rectangle.path!)
rectangle.physicsBody?.dynamic = false
self.addChild(rectangle)
Моя попытка:
class Walls: SKSpriteNode {
var size = SKShapeNode(rectOfSize: CGSize(width:390, height:200))
init(postition: CGPoint, size: CGSize) {
super.init(color:SKColor.blackColor())
self.size = SKShapeNode(rectOfSize: CGSize(width:390, height:200))
self.position = CGPointMake(frame.midX-10, frame.midY + 50)
self.strokeColor = SKColor.blackColor()
self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
self.physicsBody!.dynamic = false
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
В чем проблема с вашей попытки? – NobodyNada
Помогло ли мое решение для вас? – FredLoh
Он сделал, спасибо! Что может быть аргументом для Walls(), чтобы использовать его в моем классе GameScene? – nick