更改作为 SKSpriteNode 的 SKNode 的纹理
Change texture of SKNode that is an SKSpriteNode
在我制作的游戏中,我可以获得用户正在触摸的节点
var node = self.nodeAtPoint(positionInScene)
然而,这让我得到了一个 SKNode(即使用户触摸的节点是一个 SKSpriteNode),我不能使用 node.texture 来改变它的纹理。如何将该 SKNode 更改为 SKSpriteNode 或更改其纹理? (动作在这里不起作用,因为我需要暂停场景,当场景暂停时它们将不起作用)。
选角正是您要找的。
例如:
如果您确定转换成功并且您的SKNode()实际上是一个SKSpriteNode,您可以执行以下操作:
let s = SKNode()
let ss: SKSpriteNode = (s as? SKSpriteNode)!
但是,在转换中特别使用可选的总是更好:
let ss2: SKSpriteNode? = s as? SKSpriteNode
在我制作的游戏中,我可以获得用户正在触摸的节点
var node = self.nodeAtPoint(positionInScene)
然而,这让我得到了一个 SKNode(即使用户触摸的节点是一个 SKSpriteNode),我不能使用 node.texture 来改变它的纹理。如何将该 SKNode 更改为 SKSpriteNode 或更改其纹理? (动作在这里不起作用,因为我需要暂停场景,当场景暂停时它们将不起作用)。
选角正是您要找的。
例如:
如果您确定转换成功并且您的SKNode()实际上是一个SKSpriteNode,您可以执行以下操作:
let s = SKNode()
let ss: SKSpriteNode = (s as? SKSpriteNode)!
但是,在转换中特别使用可选的总是更好:
let ss2: SKSpriteNode? = s as? SKSpriteNode