2015-08-08 14 views
8

Spritekit ve swift kullanarak xcode'da çok basit bir oyun yarattım. Gerçek oyunun kendisini kodlamayı bitirdim. Şimdi bir ana menü oluşturmak istiyorum, böylece oyun açıldığında, ayarlara girme ya da oyuna başlamadan düğmeler içeren bir menü olacak. Bunu nasıl yapabileceğimi bilmiyorum. Storyboard kullanmalı mıyım? Ve eğer öyleyse, bunu xcode'da nasıl uygulayabilirim. Herkese teşekkürler :)Xcode'ta hızlı bir şekilde yapılan bir spritekit oyununun ana menüsü nasıl oluşturulur?

+0

Olası yinelenen (http://stackoverflow.com/questions/41665676/main-menu-in-swift) – SumNeuron

cevap

5

İki yeni dosya oluştur. Bir sprite kiti sahne ve bir kakao dokunmatik dosya. Onları aynı şekilde adlandırın, örneğin MenuScene. Dosyaları oluşturmak için xcode projenizin kenar çubuğundaki klasöre tıklarsınız. Daha sonra uygulamanızı çalıştırdığınızda MenuScene gösterisine sahip olmak GameViewController dosyasına gider. viewDidLoad'un altında bir çizgi var. senin MenuScene içinde Sonra if let scene = MenuScene.unarchiveFromFile("MenuScene") as? Menu Scene { içine bu değişiklik if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene { size 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) 
      } 
     } 
    }  
} 

Eğer daha fazla açıklama gerekiyorsa sor götürür bir düğme olması gerekir. [Swift in Ana Menü] arasında

+0

hi mil i yok sahne = GameScene.unarchiveFromFile ("GameScene") olarak görelim mi? GameScene {gameviewcontroller dosyamın içinde? Başka bir yerde mi? –

11

Swift 3,0

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) 
       } 
      } 
     } 
    } 
} 
+0

Bunu yaparken gri bir ekranım var ... – Arti

+0

'.sks' dosyasını nasıl gösteririm ve sınıfına bazı parametreler gönderirim – Arti

İlgili konular