2015-06-22 5 views
1

Я установил свой интерфейс для обоих экранов, и я не хочу подключать экраны в main.storyboard. Я хочу щелкнуть по кнопке, и на этом экране это произойдет, я буду делать анимацию постепенного исчезновения и т. Д. Мне просто нужно знать, как перейти на один экран на следующий экран, когда я нажимаю кнопку. Я могу привести пример того, о чем я говорю ниже.Swift - 1 экран на другой экран

Пример: во вспыльчивой птице перед тем, как вы начнете игру, она попросит вас нажать на экран, а затем, когда вы нажмете текст, исчезнет. Это то, что я хочу делать с моей игрой. Я не уверен, что это другой экран, или если это 1 вид, который заставляет определенные метки исчезать после нажатия экрана.

Мои MainMenuViewController:

import UIKit 
import SpriteKit 


class MainMenuViewController: UIViewController { 


    var mainMenuScene: MainMenuScene! 



    @IBOutlet weak var playButton: UIButton! 


    @IBAction func playButtonPressed(sender: AnyObject) { 
     mainMenuScene.playButtonPressed(sender) 
    } 


    @IBAction func playerButtonPressed(sender: AnyObject) { 
     println("player") 
    } 

    @IBAction func LeaderboardButtonPressed(sender: AnyObject) { 
     println("leaderboard") 
    } 

    @IBAction func shopButtonPressed(sender: AnyObject) { 
     println("shop") 
    } 


    override func viewDidLoad() { 
     super.viewDidLoad() 


     //set up game screens 

     // Configure the view 

     // store a ref 

     // Create and configure the scene 
     mainMenuScene?.scaleMode = .AspectFill 

     // Present the scene 
    } 



    override func shouldAutorotate() -> Bool { 
     return true 
    } 

    override func supportedInterfaceOrientations() -> Int { 
     if UIDevice.currentDevice().userInterfaceIdiom == .Phone { 
      return Int(UIInterfaceOrientationMask.AllButUpsideDown.rawValue) 
     } else { 
      return Int(UIInterfaceOrientationMask.All.rawValue) 
     } 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Release any cached data, images, etc that aren't in use. 
    } 

    override func prefersStatusBarHidden() -> Bool { 
     return true 
    } 
} 

Мой MainMenuScene:

import Foundation 
import UIKit 
import SpriteKit 

class MainMenuScene: SKScene { 

    var movingGround: PPMovingGround! 
    var square1: PPSquare1! 
    var wallGen: PPWallGen! 

    var isStarted = false 

    var playButton: UIButton! 



    func playButtonPressed(sender: AnyObject) { 
     start() 

    } 


    func start() { 
     isStarted = true 

     square1.stop() 
     movingGround.start() 
     wallGen.startGenWallsEvery(1) 
    } 


    override func didMoveToView(view: SKView) { 

    } 


    override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) { 


    } 

    override func update(currentTime: CFTimeInterval) { 

    } 

} 

Я хочу подключить этот код на GameScene файла. Как мне это сделать?

ответ

2

Я думаю, что я знаю, что вы стремитесь, так как вы не хотите, чтобы сделать работу с Main.storyboard напрямую, вы можете сделать это:

presentViewController(YourNextViewController, animated: true, completion: nil) 

вы могли бы назвать, что в ViewController, на котором вы сейчас находитесь, чтобы перейти к следующему.

Допустим, вы находитесь на главном экране, как вы сказали в Flappy Bird, при нажатии на кнопку, он может перейти к другому View Controller

Мой совет будет гнездиться этот метод в функции, так что вы можете вызвать его в gameStart функции, например, так:

func changeViewControllers() { 
    presentViewController(GameViewController, animated: true, completion: nil) 
} 

затем вызвать это в вашем gameStart():

func gameStart() { 
    changeViewControllers() 
    //other code 
} 

//===================================================================== 

Хорошо, я собираюсь помочь вам получить другой точке зрения, когда вы нажимаете вашу кнопку воспроизведения, добавьте следующий код:

@IBAction func playButtonPressed(sender: AnyObject) { 
    mainMenuScene.playButtonPressed(sender) 
} 
+0

это своего рода то, что я хочу, чтобы это сделать, но взять посмотрите на это видео, а затем вы поймете, что именно я хочу. (Видео в Objective-C, я не знаю obj-c) Видео: https://www.youtube.com/watch?v=h98VmYaZ8Vw – Paul654321

+0

Можете ли вы взглянуть на видео выше и помочь мне написать, что в быстром , поскольку я не знаю цель-с. – Paul654321

+0

Чтобы помочь вам написать все, что победит цель обучения. :) Есть ли какой-то конкретный раздел, в котором вы испытываете проблемы? @ Paul654321 –