Ios 跟踪斯普瑞泰诺

Ios 跟踪斯普瑞泰诺,ios,swift,sprite-kit,tracking,skspritenode,Ios,Swift,Sprite Kit,Tracking,Skspritenode,我对斯威夫特和雪碧套装还比较陌生。我正在尝试使用SKSpriteNodes创建一个简单的游戏。我的游戏需要跟踪“点击”节点的顺序,因为它需要根据其顺序进行处理。我正在考虑创建一个列表,当单击节点时,它将被添加到列表中。这是最简单的方法吗?我想它可能会消耗更多的内存。我的节点具有相同的名称。下面是我在场景中添加节点时使用的方法。我需要知道彩色球点击的顺序 for x in listNodes{ var ballNode = SKSpriteNode(imageNamed: String(c

我对斯威夫特和雪碧套装还比较陌生。我正在尝试使用SKSpriteNodes创建一个简单的游戏。我的游戏需要跟踪“点击”节点的顺序,因为它需要根据其顺序进行处理。我正在考虑创建一个列表,当单击节点时,它将被添加到列表中。这是最简单的方法吗?我想它可能会消耗更多的内存。我的节点具有相同的名称。下面是我在场景中添加节点时使用的方法。我需要知道彩色球点击的顺序

for x in listNodes{
    var ballNode = SKSpriteNode(imageNamed: String(color))
    ballNode.name = "ball"

    var point: CGPoint = CGPointMake(0,0)
    var done: Bool = false

    let randomX = randomRange(CGRectGetMinX(self.frame), max: CGRectGetMaxX(self.frame)-(ballNode.size.width))
    let randomY = randomRange(CGRectGetMinY(self.frame) + self.border.size.height, max: CGRectGetMaxY(self.frame)-ballNode.size.height)

    point = CGPointMake(randomX, randomY)

    ballNode.anchorPoint = CGPointMake(0,0)
    ballNode.position = point

    self.addChild(ballNode)
 }

使用列表/数组不会导致内存使用大幅增加,因为列表将包含对节点的引用,而不会复制它们;对于这种操作,大小可以忽略不计。但是,请注意,您可能需要某种方式来区分玩家将要单击的节点,这取决于您正在处理的内容,因此您可能需要为节点指定一个ID值或其他内容,而不仅仅是名称“ball”。您可以通过提供唯一的名称、子类化SKSpriteNode或使用SKNode的userData属性来完成此操作。@cc。实际上,我使用的是用户数据。谢谢!:)