SKNodes不会在场景中展示

时间:2017-02-18 15:08:36

标签: ios swift sprite-kit

我设置了场景,一切运作良好。它看起来像这样:enter image description here

但控制器是在Main.storyboard中设置的,我想摆脱它。所以我做了这样的事情:

var sections = [Date: [Message]]()
let date = Date()
let startDay = Calendar.current.startOfDay(for: date)

var messages = sections[startDay]
在appDelegate中:

    window = UIWindow(frame: UIScreen.main.bounds)
    window?.makeKeyAndVisible()
    window?.rootViewController = GameViewController()
在GameViewController中

加载它。第一次,场景加载,但只有绿色背景,没有其他节点。 (节点计数器显示正确的节点数。)

所以我尝试将ignoresSiblingOrder设置为true和false,scene.scaleMode的所有选项以及我实现的最佳结果都是使用scene.scaleMode = .resizeFill。看起来像这样: enter image description here

编辑: 圈子的位置:

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)

看起来这个视图并不适合屏幕而且太大了。

1 个答案:

答案 0 :(得分:0)

通过在GameViewController中更改视图init来解决:

override func loadView() {
    super.loadView()

    self.view = SKView(frame: UIScreen.main.applicationFrame)
}

旧版本的视图没有宽度和高度,所以GameScene没有得到任何尺寸。