GameScene.sksとGameScene.swiftに問題があります。私は自分のプロジェクトにタイトル画面を追加しようとしていましたが、そこから下り坂になりました。タイトル画面は正常に動作しますが、問題はGameviewcontroller.swiftを編集するときです。ここでGameScene.sksとGameScene.swift
This is how it ends up looking when I re-add the gamescene.sks
作業ファイルへGameViewController.Swiftは前TitleScreen
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
}
}
アンカーポイントを両方の方法で検査します。同じシーンスケールモードを使用します。ノードの位置が同じであるかどうかを確認します。それらのすべてが一致すれば、同じ結果を見る必要があります。シーンやビューのサイズも違うので注意してください。 – Whirlwind