我正在编程游戏,但我有一个问题。我有两个场景。 (1. GameScene 2. PlayScene)。 GameScene显示PlayButton。如果按PlayButton,将显示PlayScene。 PlayScene显示游戏。如果你输掉比赛,GameScene将再次出现。
GameScene - > PlayScene - > GameScene
这是代码,位于GameScene中并呈现PlayScene。
if self.nodeAtPoint(location) == self.playButton { // Wenn position des klicks gleich mit position des play button
println("Go to the game")
var scene = PlayScene(size: self.size)
let skView = self.view! as SKView
skView.ignoresSiblingOrder = true
scene.scaleMode = .ResizeFill
scene.size = skView.bounds.size
skView.presentScene(scene)
}
这是代码,位于PlayScene中并再次显示GameScene。
if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
let skView = self.view as SKView!
skView.ignoresSiblingOrder = true
scene.size = skView.bounds.size
scene.scaleMode = .AspectFill
skView.presentScene(scene)
}
我的问题是,GameScene首先与PlayScene之后呈现的GameScene大小不同。我不能展示照片,因为我没有10个声誉-.-,但我可以解释一下。例如:GameScene中的PlayButton(在程序启动后显示)小于PlayButton,PlayButne在PlayScene呈现后显示在GameScene中。 我试图改变scaleModes但是没有用。
我尝试获得10个声誉并向您展示一些照片。我希望你理解我的问题。
以下是照片的链接,显示了我的问题。
这是GameScene的“第二个”:
https://drive.google.com/open?id=0B57TI4Xur5Fldy1EcVh6NmVIdm8&authuser=0
这是“第一个”GameScene的呈现:
https://drive.google.com/open?id=0B57TI4Xur5FlR3ZXT2NFSEZRZHc&authuser=0
对不起我的Englisch :)。我是来自德国的学生,我参观了“体育馆”的12年级。
提前致谢!
答案 0 :(得分:0)
问题可能是您没有使用与第一个场景相同的设置。试试这个。
if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
let skView = self.view as SKView!
skView.ignoresSiblingOrder = true
scene.size = self.size
scene.scaleMode = self.scaleMode
skView.presentScene(scene)
}
答案 1 :(得分:0)
谢谢,但没有用。我尝试了一些其他的改变,但是它有效,但我不知道为什么。
if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
let skView = self.view as SKView!
skView.ignoresSiblingOrder = true
scene.scaleMode = .AspectFill
skView.presentScene(scene)
}
现在两个场景都有相同的尺寸。