【发布时间】:2017-02-27 17:09:26
【问题描述】:
我已经开始用 Spritekit 创建一个对战游戏了。
我有一个启动画面和主菜单。 我使用 UIViewController 创建这两个页面,使用 SKScene 创建游戏场景。 现在在 MainMenu 我想在 Play 按钮操作中切换到 GameScene 但 GameScene 没有显示任何内容。 我在 GameScene 中有断点,令人惊讶的是 didMoveToView 中的所有代码都在运行,但我的页面凹痕切换到 GameScene 我还在 MainMenu 中。
我使用以下代码从uiviewcontroller切换到游戏场景:
@IBAction func playButton(sender: UIButton) {
let scene = GameScene(size:view.bounds.size)//(fileNamed: "GameScene") {
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
skView.ignoresSiblingOrder = true
scene.scaleMode = .AspectFill
skView.presentScene(scene)
}
override func didMoveToView(view: SKView) {
/* Setup your scene here */
let myLabel = SKLabelNode(fontNamed:"Chalkduster")
myLabel.text = "Hello, World!"
myLabel.fontSize = 45
myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))
self.addChild(myLabel)
}
正在运行,我可以通过断点导航到它。
【问题讨论】:
-
调试时是否尝试查看 UI Hierarchy?
-
是的,但是你的意思是它有什么特别之处吗?
-
sk 视图是否可见?尝试设置场景的标签大小或背景颜色,可能场景显示但为空。
-
我可以在 UI Hierarchy 中看到 sk 视图,并且它的 hidden 属性未选中。
-
两页是什么意思?您如何从第 1 页切换到第 2 页,在我看来,游戏场景处于活动状态,但您从未呈现视图。顺便说一句,我建议不要将 GameScene(size:view.bounds.size) 与方面填充一起使用,你只会在以后混淆自己。要么选择一个允许缩放的静态大小,要么使用 resizeFill 缩放模式
标签: ios swift sprite-kit