Swift SpriteKit纹理

时间:2017-07-31 22:54:15

标签: swift sprite-kit textures

非功能代码:

 if sprite.texture == "texture" {
 (code)
}

当sprite具有特定纹理时,我试图访问sprite的纹理以运行代码。目前纹理仅在我的资产中,因此括号。谁能想出如何以一种有效的方式重写这段代码?

1 个答案:

答案 0 :(得分:1)

sprite.texture的类型为SKTexture?,因此您无法将其与字符串进行比较,而应与实际的SKTexture对象进行比较。

尽管如此,您应该尝试重新设计代码,正如其他人在您的问题评论中所建议的那样。检查纹理本身并不是一个好的设计。首先,如果您决定在2个月内为精灵使用不同的纹理,那么您需要记住重新访问此代码。

我建议从SKSpriteNode继承并检查sprite的类型是否与您的子类相同。其他替代方法是比较sprite.name或精灵的userData