如何给精灵节点一个唯一的ID

How to give a sprite node a unique id

温柔一点,我看了一遍又一遍,但找不到适合我这个 SpriteKit 初学者的可以理解的答案。

情况:几个不同的图像落在游戏中,点击将图像移动到底部两个特定位置之一。我怎样才能为每张图片命名唯一的,以便它可以找到相应的位置。

例如Img1->Place1 Img2->Place1 Img3->Place2 Img4->Place1 Img5->Place2

感谢您的思考!

你需要post一些代码来得到一些答案,堆栈溢出的人不会为你做这些工作。

到目前为止你尝试了什么?

你不是给每张图片起个名字吗

 var image1: SKSpriteNode!

并像这样在 ViewDiDLoad 中设置它

image1 = SKSpriteNode(imageNamed: "Img1")

现在您可以在游戏中为该图像做一些事情,例如

 image1.position = ....

您还可以为每张图片取一个唯一的名称。创建全局结构

struct ImageName {
    static let image1 = "Image1"
    static let image2 = "Image2"
}

然后给每张图片起个名字

  image1.name = ImageName.image1
  image2.name = ImageName.image2

然后使用名称 属性 来识别每张图片,就像这样

 self.enumerateChildNodesWithName("//\(ImageName.image1)") {
        node, stop in

    // do something for image1
 }

这是你问的吗?