I've been working on a project with quite a lot of nodes, and am finding that I'm having to create an SKNode with an SKShapeNode added as a child to it. But I feel like I should be able to just be able to initialise a custom class of SKShapeNode.
When I do (code below), when I add the class to my GameScene as a child it registers its there (the physics body is there) but the I can't see the shape.
import Foundation
import SpriteKit
class WallNeut: SKShapeNode {
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
init(radius: CGFloat) {
super.init()
zPosition = 10
lineWidth = 5
strokeColor = SKColor.grayColor()
physicsBody = SKPhysicsBody(circleOfRadius: radius)
physicsBody?.affectedByGravity = false
physicsBody?.allowsRotation = false
physicsBody?.pinned = true
}
}
You are calling
super.init()
which is the designated initializer but are nowhere defining the path you want your SKSpriteNode to follow.This can be done in your custom init by adding :
for a circle you may also want to fill it with :