Apple рекомендует использовать один объект SKTexture, если он будет использоваться несколько раз (https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKTexture_Ref/).SpriteKit SKTexture не передается как ссылка на SKSpriteNode
Так что я хотел, чтобы проверить, действительно ли она передается в качестве ссылки:
var fireSpriteTexture:SKTexture = SKTexture(imageNamed: "fire")
let fireSprite = SKSpriteNode(texture: fireSpriteTexture)
fireSprite.position = CGPointMake(50,50)
fireSprite.zPosition = 100
// Change texture -> We should see no fire
fireSpriteTexture = SKTexture(imageNamed: "water")
self.addChild(fireSprite)
В моем понимании это быстр код должны сделать текстуру воды видна в моем приложении, НО на самом деле текстура огня помещается на экране ,
Почему? Это ошибка?
Чтобы сделать его более понятным, я также хотел бы знать, что произойдет, если я запустил свой узел с помощью SKSpriteNode (imageNamed: «fire»), а затем скопируйте его с помощью метода copy(), оба объекта имеют один и тот же «огонь» "ресурс?
Взгляните на это: http://stackoverflow.com/a/30448038/3402095 – Whirlwind