【发布时间】:2017-05-22 23:49:51
【问题描述】:
GameScene.sks 和 GameScene.swift 存在问题。我试图在我的项目中添加一个标题屏幕,但它从那里走下坡路。标题屏幕工作正常,但问题是当我编辑 Gameviewcontroller.swift 时。
This is how it ends up looking when I re-add the gamescene.sks
这是添加 TitleScreen 之前工作文件的 GameViewController.Swift
import UIKit
import SpriteKit
import GameplayKit
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let scene = GameScene(size: view.bounds.size)
let skView = view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
skView.ignoresSiblingOrder = true
scene.scaleMode = .resizeFill
skView.presentScene(scene)
}
override var shouldAutorotate: Bool {
return true
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
if UIDevice.current.userInterfaceIdiom == .phone {
return .allButUpsideDown
} else {
return .all
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Release any cached data, images, etc that aren't in use.
}
override var prefersStatusBarHidden: Bool {
return true
}
}
这是在更改视图后首先加载标题屏幕:
import UIKit
import SpriteKit
import GameplayKit
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let scene = titleScreen(fileNamed: "titleScreen") {
//Configure view
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
skView.ignoresSiblingOrder = true
// Set the scale mode to scale to fit the window
// scene.scaleMode = .aspectFill
scene.size = self.view.frame.size
// Present the scene
skView.presentScene(scene)
}
}
override var shouldAutorotate: Bool {
return true
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
if UIDevice.current.userInterfaceIdiom == .phone {
return .allButUpsideDown
} else {
return .all
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Release any cached data, images, etc that aren't in use.
}
override var prefersStatusBarHidden: Bool {
return true
}
}
【问题讨论】:
-
以两种方式检查锚点。使用相同的场景比例模式。检查节点位置是否相同。如果所有这些都匹配,那么您将不得不看到相同的结果。场景和视图大小也是不同的,所以也要注意这一点。
标签: ios swift xcode sprite-kit