在swift中,是否可以通过直接从数组中复制SKSpriteNode来创建它?

时间:2016-08-13 00:17:25

标签: arrays swift sprite-kit

目前我在Swift的一个项目遇到了一些麻烦。我想知道你是否可以像这样创建一个全新的精灵节点:

Subclass.foo()

其中nodes是一个SKSpriteNodes数组,并且有一个索引号为3的对象。以前,我曾在Java工作,我知道如果你要做这样的事情,它只会传递一个sprite节点变量的引用而不是创建一个全新的精灵节点,但我不确定这是否是swift中发生的事情。

如果你不能用这种方式创建一个新的sprite节点,那么最好的方法是什么(在Java中你只需创建一个新的sprite节点并逐字复制它的所有值)?

1 个答案:

答案 0 :(得分:1)

您可以使用此代码

克隆SKSpriteNode
let sprite0 = SKSpriteNode()
let sprite1 = sprite0.copy() as! SKSpriteNode

如果你有一个精灵数组

let sprites: [SKSpriteNode] = [SKSpriteNode(), SKSpriteNode(), SKSpriteNode()]

您可以使用方括号

访问值
let aSprite = sprites[0]
  

无论如何,在使用其他环境的模式/技术之前,我建议您阅读Sprite Kit Programming Guide。如果我们按照预期的方式使用工具,情况往往会变得更容易。