预加载还是不预加载?

Preload or not preload?

我正在制作一款益智游戏,我多次使用几种类型的精灵。所以我有一个关于游戏性能的问题。哪个更好,稍后在 setup() 方法中在 for/in 循环中创建精灵,或者在 class 的初始化程序中预加载精灵,然后只需在 setup() 中复制精灵?例如:

func setup() {
    for i in 0...10 {
       let sprite = SKSpriteNode(imageNamed: "FirstSpriteName")
       sprite.position = etc...
    }
}

或者在我初始化 class 时预加载精灵:

let firstSprite = SKSpriteNode(imageNamed: "FirstSpriteName")

及稍后在 setup() 函数中:

func setup() {
    for i in 0...10 {
        let sprite = firstSprite.copy()
        sprite.position = etc...
    }
}

如果您多次使用同一张图片,最好这样加载它:

let texture = SKTexture(imageNamed: "SpriteName")

以后需要时使用它:

let sprite = SKSpriteNode(texture: texture)

这样它只加载一次纹理,但许多精灵使用它。