3

是否可以更新/更改图像SKSpriteNode
下面的代码不起作用:

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

2 回答 2

6

一旦你创建了SKSpriteNode

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

你可以texture像这样更新属性

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

这是我的游乐场的一个例子

在此处输入图像描述

于 2015-12-21T22:54:26.093 回答
4

您现在正在做的是创建一个新实例,然后使用局部变量来引用它。然后,前一个的保留计数将降至零并被释放。你必须知道你的意图是什么。根据文档,我认为您可以更改它并且属性是texture

此方法从图像文件创建一个新的纹理对象,并将该纹理分配给纹理属性。sprite 的 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

于 2015-12-21T22:53:47.643 回答