【发布时间】:2014-12-20 18:03:38
【问题描述】:
我正在尝试创建一个“加载屏幕”来预加载所有纹理。
我在 GameViewController.swift 中有以下内容:
class GameViewController: UIViewController {
var catAtlas = SKTextureAtlas(named:"cat@2x")
//And many more atlas
override func viewDidLoad() {
super.viewDidLoad()
var textureAtlas = NSMutableArray()
textureAtlas.addObject(catAtlas)
SKTextureAtlas.preloadTextureAtlases(textureAtlas, withCompletionHandler: {
//Present Scene
}
})
}
在一个名为 Obstacles.swift 的类中,它在 GameScene.swift 中实现:
class Obstacles {
init() { }
var catAtlas = SKTextureAtlas(named:"cat@2x")
func catAnimation(){
//Where catAtlas is used
}
}
这样纹理存储在 RAM 中,但帧率不会改变(没有预加载也是一样的)。 如果我执行以下操作,帧速率会变差:
var pinataTextAtlas = GameViewController().catAtlas
我做错了什么或如何解决这个问题?
谢谢! (对不起我的英语)
【问题讨论】:
标签: ios swift sprite-kit