Я использую XCode 7.2.1 для создания SKSpriteNode в SceneEditor (с пользовательским классом = PlayerNode)настройка цвета в Init (NSCoder)
Я обнаружил, что узел загрузка из файла SKS инициализируется с помощью метода инициализации SKSpriteNode (кодировщик: NSCoder) так вот, как я реализовать класс PlayerNode в быстрой
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
}
}
Когда я запустить проект, цвет узла не изменяются даже не мало. Но когда я изменить цвет в методе didMoveToView объекта GameScene, как:
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 Ваш приведение в ваш SkSpriteNode в вашем didMoveToView() также неверно. Ваш initializePhysics() никогда не называется –