Próbuję utworzyć podklasę SKShapeNode w szybkim jak SKShapeNode (circleOfRadius: radius), ale nie ma wyznaczonego dla niego init.brak wyznaczonego init dla SKShapeNode (circleOfRadius: radius)
Ktoś ma jakieś obejścia lub informacje o tym, dlaczego? Nie jestem pewien, czy to błąd, czy cel. Znalazłem to wideo demonstrujące obejście dla SKSpriteNode, ale nie działa dla mnie. https://skillsmatter.com/skillscasts/5695-how-to-subclass-a-skspritenode
Ogólnie próbuję utworzyć podklasę dla SKShapeNode, którą mogę następnie ponownie utworzyć podklasę, aby mieć różne wersje łatwiejszego zarządzania moim kodem. TIA
Dzięki Martinowi znalazłem ten przykład wcześniej. Działa, ale jak mógłbym zrobić to w kręgu zamiast prostokąta?
import Foundation
import SpriteKit
class Player : SKShapeNode {
override init() {
super.init()
self.name = "Player"
self.fillColor = UIColor.blackColor()
}
init(rectOfSize: CGSize) {
super.init()
var rect = CGRect(origin: CGPointZero, size: rectOfSize)
self.path = CGPathCreateWithRect(rect, nil)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
w kodzie głównym
let playerOne = Player(rectOfSize: CGSize(width: 100, height: 100))
Czy to pomoże: [Utworzenie podklasy SKShapeNode z Swift] (http://stackoverflow.com/questions/24235185/subclassing-skshapenode-with-swift)? –
Jeśli kompilator zareaguje na brakujący init, zwykle sugeruje wstawienie jednego (czerwona kropka z kwadratem). Po prostu niech to zrobi. –
Martin. Pracowałem wcześniej z tym przykładem i działałem teraz, ale w jaki sposób utworzyć koło zamiast prostokąta? – Chris