但控制器是在Main.storyboard中设置的,我想摆脱它。所以我做了这样的事情:
var sections = [Date: [Message]]()
let date = Date()
let startDay = Calendar.current.startOfDay(for: date)
var messages = sections[startDay]
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
window?.rootViewController = GameViewController()
在GameViewController中加载它。第一次,场景加载,但只有绿色背景,没有其他节点。 (节点计数器显示正确的节点数。)
所以我尝试将ignoresSiblingOrder设置为true和false,scene.scaleMode的所有选项以及我实现的最佳结果都是使用scene.scaleMode = .resizeFill。看起来像这样:
编辑: 圈子的位置:
override func loadView() {
super.loadView()
self.view = SKView()
}
试过这个,redOne出现在绿色旁边
greenOne.position = CGPoint(x: greenOne.radius + sticksOffset, y: greenOne.radius + sticksOffset)
redOne.position = CGPoint(x: self.frame.maxX - redOne.radius - sticksOffset / 2, y: view.bounds.size.height / 2)
看起来这个视图并不适合屏幕而且太大了。
答案 0 :(得分:0)
通过在GameViewController中更改视图init来解决:
override func loadView() {
super.loadView()
self.view = SKView(frame: UIScreen.main.applicationFrame)
}
旧版本的视图没有宽度和高度,所以GameScene没有得到任何尺寸。