SpritekitとSwiftを使用して、xcodeで非常にシンプルなゲームを作成しました。実際のゲーム自体のコーディングを終了しました。ここで、メインメニューを作成して、ゲームを開いたときに、設定に入るボタンまたはゲームを開始するボタンのあるメニューが表示されるようにします。どうすればこれができるのかわかりません。ストーリーボードを使用する必要がありますか?もしそうなら、どうすればxcodeでそれを実装できますか?みんな、ありがとう :)
Swift 3.
import SpriteKit
class MenuScene: SKScene {
var playButton = SKSpriteNode()
let playButtonTex = SKTexture(imageNamed: "play")
override func didMove(to view: SKView) {
playButton = SKSpriteNode(texture: playButtonTex)
playButton.position = CGPoint(x: frame.midX, y: frame.midY)
self.addChild(playButton)
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
if let touch = touches.first {
let pos = touch.location(in: self)
let node = self.atPoint(pos)
if node == playButton {
if let view = view {
let transition:SKTransition = SKTransition.fade(withDuration: 1)
let scene:SKScene = GameScene(size: self.size)
self.view?.presentScene(scene, transition: transition)
}
}
}
}
}
2つの新しいファイルを作成します。 1つのスプライトキットシーンと1つのココアタッチファイル。 MenuSceneのように、同じ名前を付けます。ファイルを作成するには、xcodeプロジェクトのサイドバーにあるフォルダーをクリックします。次に、アプリの実行時にMenuSceneを表示するには、GameViewControllerファイルに移動します。 viewDidLoad
の下に行があります。 if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
これをif let scene = MenuScene.unarchiveFromFile("MenuScene") as? Menu Scene {
に変更します。次に、MenuSceneに、GameSceneに移動するためのボタンが必要です。
import SpriteKit
class MenuScene: SKScene {
var playButton = SKSpriteNode()
let playButtonTex = SKTexture(imageNamed: "play")
override func didMoveToView(view: SKView) {
playButton = SKSpriteNode(texture: playButtonTex)
playButton.position = CGPointMake(frame.MidX, frame.midY)
self.addChild(playButton)
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
if let touch = touches.first as? UITouch {
let pos = touch.locationInNode(self)
let node = self.nodeAtPoint(pos)
if node == playButton {
if let view = view {
let scene = GameScene.unarchiveFromFile("GameScene") as! GameScene
scene.scaleMode = SKSceneScaleMode.AspectFill
view.presentScene(scene)
}
}
}
}
さらに説明が必要かどうか尋ねてください。