预加载还是不预加载?
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)
这样它只加载一次纹理,但许多精灵使用它。
我正在制作一款益智游戏,我多次使用几种类型的精灵。所以我有一个关于游戏性能的问题。哪个更好,稍后在 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)
这样它只加载一次纹理,但许多精灵使用它。