有没有办法在SKNode对象上的spriteKit中设置标签/使用标记? (比如在cocos2d中)

时间:2014-03-05 23:07:18

标签: ios sprite-kit

我之前花了很多时间使用cocos2d,并习惯了标签的方便,这些标签也可以在UIView对象上使用,但是目前我使用spritekit启动了一个项目,但找不到等效项。因此,我的问题是,是否有人知道SKSpriteNode / SKNode对象是否有任何等价物?

2 个答案:

答案 0 :(得分:4)

您可以使用name的{​​{1}}属性。

来自documentation

  

用于为节点指定名称以供以后参考。为节点选择名称时,应确定每个节点是否获取唯一名称,或者某些节点是否共享公用名。如果为节点指定唯一名称,则可以稍后通过调用SKNode方法找到该节点。如果名称由多个节点共享,则名称通常意味着这些名称在游戏中都是类似的对象类型。在这种情况下,您可以通过调用childNodeWithName:方法迭代这些对象。

答案 1 :(得分:3)

Sprite有更好的方法。您可以在SKNode中设置整个字典,而不仅仅是标记。跟你的新朋友.userData?

打招呼

示例:

   let myNode : SKSpriteNode = SKSpriteNode(imageNamed: "make-america-great-again")
   myNode.userData = [
            "keyA" : "blahblah",
            "keyB" : 17.0
        ];

   NSLog("OMFG is this \(myNode.userData?["keyA"]) and \(myNode.userData?["keyB"]) for real!??")