Обновить/изменить образ SKSpriteNode

Можно ли обновить/изменить изображение SKSpriteNode?
Код ниже не работает:

var boss1 = SKSpriteNode(imageNamed: "boss1.png")
boss1 = SKSpriteNode(imageNamed: "boss2.png")

person Glutch    schedule 21.12.2015    source источник


Ответы (2)


После того, как вы создали SKSpriteNode

var boss1 = SKSpriteNode(imageNamed: "boss1.png")

вы можете обновить свойство texture следующим образом

boss1.texture = SKTexture(imageNamed: "boss2.png")

Вот пример с моей игровой площадки

введите описание изображения здесь

person Luca Angeletti    schedule 21.12.2015

Что вы делаете прямо сейчас, так это создаете новый экземпляр, а затем используете локальную переменную для ссылки на него. Затем счетчик сохранения предыдущего упадет до нуля и будет освобожден. Вы должны будете знать, каково ваше намерение. Основываясь на документации, я думаю, вы можете изменить его, и свойство texture:

Этот метод создает новый объект текстуры из файла изображения и присваивает эту текстуру свойству текстуры. Свойство size спрайта устанавливается равным размерам изображения. Свойство цвета установлено на белый (1.0,1.0,1.0).

Вот как вы можете это изменить:

boss1.texture = UIImage(...)

Вот ссылка: https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKSpriteNode_Ref/#//apple_ref/occ/instp/SKSpriteNode/texture

person Lucas Huang    schedule 21.12.2015