更改SKSpode的纹理,即SKSpriteNode

时间:2015-10-29 16:20:47

标签: swift sprite-kit skspritenode sknode

在我正在制作的游戏中,我可以获得用户正在触摸的节点

var node = self.nodeAtPoint(positionInScene)

然而,这让我得到一个SKNode(即使用户触摸的节点是SKSpriteNode),我也不能使用node.texture来改变它的纹理。如何将SKNode更改为SKSpriteNode或更改其纹理? (操作在这里不起作用,因为我需要暂停场景,当场景暂停时它们将无法工作)。

1 个答案:

答案 0 :(得分:2)

Casting就是你要找的东西。

例如:

如果您确定转换成功并且您的SKNode()实际上是SKSpriteNode,您可以执行以下操作:

let s = SKNode()
let ss: SKSpriteNode = (s as? SKSpriteNode)!

但是,最好在铸造中使用可选的选项:

let ss2: SKSpriteNode? = s as? SKSpriteNode