以编程方式更改场景编辑器中的纹理

Change Texture In Scene Editor Programmatically

我已经在我的场景编辑器中添加了一个名为“arm”的彩色精灵,但出于多种原因,我需要访问该彩色精灵并以编程方式更改纹理。陈述我的目标的另一种方式是,我想 link 节点到我的 GameScene swift 文件并使用数组中的纹理更改纹理。有人知道怎么做吗?

首先,您想 link 精灵节点从 GameScene.sks 文件到 GameScene.swift 文件。

为此,在 GameScene.swift 顶部附近(在“class GameScene: SKScene {”下)使用此:

var armNode: SKSpriteNode?

在您的 didMove(to view:) 部分执行此操作:

armNode = childNode(withName: "arm") as? SKSpriteNode

现在有 3 种不同的方法可以根据您正在做的事情来更改 SKSpriteNode 的 color/texture:

armNode.colour = UIColor.red

armNode.texture = SKTexture(imageNamed: "your arm image here")

armNode.texture = textureArray[2]

第三个版本使用纹理数组中的一个纹理