我得到了一个改变颜色的块动画,当块中有一个点击时,颜色动画停止,我想得到块停止的颜色。
我注意到SKSpriteNode具有SKTexture属性,但我无法通过调用来引用它:
node.texture
我收到错误,该节点没有名为' texture'的元素,但在调试器中纹理就在那里:
<SKSpriteNode> name:'(null)' texture:[<SKTexture> 'orange@2x.png' (40 x 40)] position: {604.6412353515625, 205.83619689941406} size:{20, 20} rotation:0.0
我想得到&#39; orange@2x.png'节点的名称,所以我可以稍后再比较。
答案 0 :(得分:4)
您可能只有SKNode
节点,它没有texture
属性。您应该可以使用可选绑定强制转换为SKSpriteNode
,如下所示:
if let spriteNode = node as? SKSpriteNode {
println(spriteNode.texture)
}
答案 1 :(得分:0)
Sprite-Kit Change Image of Node when screen gets touched
第一个答案可能有所帮助,他这样做的方式似乎很容易和合乎逻辑。
使其成为SpriteNode而不是Node。 首先将纹理定义为变量, 然后将这些变量分配给节点的.texture。