我使用 SpriteKit 和 Swift 创建了一个游戏,已进入最后阶段。我在另一个名为 MenuScene.swift 的场景中为其创建了一个菜单,并且放置了一个按钮,以便当您单击它时,它会指向存储我的游戏的 GameScene.swift 文件。但是,每当我单击从菜单转到开始游戏的按钮,它会放大我的游戏很多并完全破坏界面。我怎样才能解决这个问题?这是我的相关 View Controller 编码:
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let sceneView = view as! SKView
// sceneView.showsFPS = true
// sceneView.showsNodeCount = true
sceneView.ignoresSiblingOrder = true
let scene = MenuScene(size: view.bounds.size)
scene.scaleMode = .ResizeFill
sceneView.presentScene(scene)
}
这是我的菜单场景:
import Foundation
import UIKit
import SpriteKit
let buttonTexture = SKTexture(imageNamed: "play")
let button = SKSpriteNode(texture: buttonTexture)
class MenuScene: SKScene {
override func didMoveToView(view: SKView) {
button.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
self.addChild(button)
}
override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch: AnyObject in touches {
let location = touch.locationInNode(self)
if button.containsPoint(location) {
startGame()
}
}
}
private func startGame() {
let gameScene = GameScene(size: view!.bounds.size)
let transition = SKTransition.fadeWithDuration(0.15)
view!.presentScene(gameScene, transition: transition)
gameScene.scaleMode = .AspectFill
}
}
最佳答案
self.scene?.size = self.view!.bounds.size
在 GameScene.swift 中的 didMoveToView
关于ios - Spritekit Swift 游戏菜单放大屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32677758/