好的,所以我一直试图在整个互联网上找到答案,似乎我几乎得到了它。所以我所做的是我在一个类之外声明了我的纹理图集变量,以便它们在我的项目中是全局的。像这样的东西:
import SpriteKit
import CoreMotion
let myAtlas1 = SKTextureAtlas(named: "atlas1")
let myAtlas2 = SKTextureAtlas(named: "atlas2")
let myAtlas3 = SKTextureAtlas(named: "atlas3")
class GameScene: SKScene, SKPhysicsContactDelegate {
然后,在我的 GameViewController 中,我正在预加载它们,完成后我将展示我的 GameScene,如下所示:
import UIKit
import SpriteKit
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
SKTextureAtlas.preloadTextureAtlases([myAtlas1, myAtlas2, myAtlas3], withCompletionHandler: {() -> Void in
NSLog("completed")
self.startScene()
})
}
func startScene() {
let skView = self.view as SKView
skView.showsFPS = true
skView.showsNodeCount = true
skView.showsPhysics = false
skView.ignoresSiblingOrder = true
let scene = GameScene(size: skView.bounds.size)
scene.scaleMode = .AspectFit
scene.size = skView.bounds.size
skView.presentScene(scene)
}
当我运行游戏时,我的 LaunchImage 出现后,会弹出一个灰色屏幕,然后将我带到游戏中。但是播放器不再工作了!现在它无法移动或其他任何东西..