0
我使用的XCode 7.2.1在SceneEditor創建SKSpriteNode(具有自定義類= PlayerNode)SKSpriteNode在初始化設定顏色(NSCoder)
我發現,從一個SKS文件節點的負載與所述方法的init初始化(編碼器:NSCoder)所以在這裏我如何實現迅速
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
}
}
當我運行該項目PlayerNode類,節點色不改甚至沒有一點點。 但是,當我改變顏色在GameScene對象的方法didMoveToView,如:
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
}
}
現在的顏色變化。 有沒有辦法在PlayerNode類中設置顏色?
這並不重要,因爲我在didMoveToView()方法 – Paul
@ user3682658覆蓋的球員你是什麼意思與「不重要「?我寫的是導致你的問題的原因。 100%。 –
@ user3682658您在didMoveToView()中的投射到您的SkSpriteNode也是錯誤的。您的initializePhysics()永遠不會被調用 –