【发布时间】:2015-12-17 02:56:14
【问题描述】:
我使用 SpriteKit 和 Swift 创建了一个游戏,处于最后阶段。我在另一个名为 MenuScene.swift 的场景中为它创建了一个菜单,并且我放置了一个按钮,以便当您单击它时,它会指向存储我的游戏的 GameScene.swift 文件。但是,每当我单击从菜单转到开始游戏的按钮,它放大了我的游戏并完全破坏了界面。我怎样才能解决这个问题?这是我的相关视图控制器编码:
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
}
}
【问题讨论】:
-
你能发布一些你的代码吗?
-
@Icy 您应该从视图控制器发布代码,以及您转换到 GameScene 的代码(从 MenuScene 到 GameScene)。
-
我添加了代码,但由于某种原因,它的一部分被截断为普通文本。
标签: ios swift sprite-kit swift2 ios9