I use XCode 7.2.1 to create a SKSpriteNode in the SceneEditor (with custom class = PlayerNode)
I found that Node load from a SKS file are initialized with the method init(coder: NSCoder) so here how i implement PlayerNode class in swift
class PlayerNode : SKSpriteNode {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.initializePhysics()
}
func initializePhysics() {
/* blabla */
self.color = SKColor.greenColor()
self.colorBlendFactor = 1.0
self.blendMode = .Replace
}
}
When i run the project, the node color do not change not even a little. But when i change the color in the method didMoveToView of GameScene object, like:
class GameScene: SKScene {
var player = SKSpriteNode()
override func didMoveToView(view: SKView) {
super.didMoveToView(view)
self.player = (self.childNodeWithName("player") as? SKSpriteNode)!
self.player.color = SKColor.greenColor()
self.player.colorBlendFactor = 1.0
self.player.blendMode = .Replace
}
}
Now the color change. Is there a way to set color in the PlayerNode class ?