【问题标题】:Change texture of SKNode that is an SKSpriteNode更改作为 SKSpriteNode 的 SKNode 的纹理
【发布时间】:2015-10-29 16:20:46
【问题描述】:

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

var node = self.nodeAtPoint(positionInScene)

但是,这给了我一个 SKNode(即使用户触摸的节点是一个 SKSpriteNode),我不能使用 node.texture 来更改它的纹理。如何将该 SKNode 更改为 SKSpriteNode 或更改其纹理? (动作在这里不起作用,因为我需要暂停场景,而当场景暂停时它们将不起作用)。

【问题讨论】:

    标签: swift sprite-kit skspritenode sknode


    【解决方案1】:

    铸造是您所寻找的。

    例如:

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

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

    但是,在强制转换中使用 optional 总是更好:

    let ss2: SKSpriteNode? = s as? SKSpriteNode
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多