【问题标题】:Get texture name from a Node - Swift/Spritekit从节点获取纹理名称 - Swift/Spritekit
【发布时间】:2014-11-02 18:48:05
【问题描述】:

我得到了一个块改变颜色的动画,当点击块时,颜色动画停止,我想得到块停止的颜色。

我注意到一个 SKSpriteNode 有一个 SKTexture 属性,但我不能通过调用来引用它:

node.texture

我收到一个错误,节点没有名为“纹理”的成员,但在调试器中纹理存在:

<SKSpriteNode> name:'(null)' texture:[<SKTexture> 'orange@2x.png' (40 x 40)] position: {604.6412353515625, 205.83619689941406} size:{20, 20} rotation:0.0

我想获取一个节点的“orange@2x.png”名称,以便稍后进行比较。

【问题讨论】:

  • 您想使用纹理名称作为精灵的唯一标识符吗?
  • 我宁愿使用 node name 属性

标签: ios swift sprite-kit


【解决方案1】:

您可能只有SKNode 形式的节点,它没有texture 属性。您应该能够使用可选绑定来强制转换为 SKSpriteNode,如下所示:

if let spriteNode = node as? SKSpriteNode {
    println(spriteNode.texture)
}

【讨论】:

    【解决方案2】:

    Sprite-Kit Change Image of Node when screen gets touched

    第一个答案可能会有所帮助,他这样做的方式似乎既简单又合乎逻辑。

    用 SpriteNode 代替 Node。 首先将纹理定义为变量, 然后将这些变量分配给节点的 .texture 。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-25
      • 1970-01-01
      • 2016-12-13
      • 1970-01-01
      • 2011-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多