2016-07-30 2 views
1

私はポーズボタン付きのシンプルなゲームを作っています。私は戻ったときにゲームビューコントローラをリセットせずに、一時停止画面で別のビューコントローラを表示したい。試したことのすべては、再開ボタンを押してゲームに戻ったときに、ゲームビューコントローラーがリセットされる結果となりました。 ゲームをリセットせずにこれをどうやって行うことができるのか誰も知っていますか? xcodeのスプライトキットと即時iOSアプリです。Xcode with swift:最初のビューアーをリセットせずに別のビューコントローラーに表示することはできますか?

+0

を。それはあなたを助けるはずです。 – Dershowitz123

+0

詳細については、[永続データのドキュメント](https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson10.html)を参照してください。 – penatheboss

+1

SKViewとUIView、Sprite-Kit、UIKitを区別する必要があります。デモプロジェクトを使用してSksceneの詳細を理解してください。 –

答えて

2

ポップアップベースのビューを表示することができます。 .xibを作成し、必要に応じてポーズビューをデザインすることができます。その後、何もリセットせずにゲームを再開することができます。

サンプルコード:

// Set Pause Page 
    var pauseView = PauseView.loadFromNib() // need an extension 

    @IBAction func Pause(sender: UIButton) { 
    pauseView.btnResume.addTarget(self, action: #selector(resume(_:)), forControlEvents: .TouchUpInside) 
    // set place on view 
    view.addSubview(pauseView) 
    } 

    func resume(sender:UIButton) { 
    pauseView.removeFromSuperview() 
    } 

私はあなたのためのデモを作成しました:GitHubの上で利用できる

全デモ:あなたはSWIFTの公式リンゴのドキュメントからの永続化データを研究する必要がGet Source Code

+0

ありがとうございます。これは私が望んでいたものです。 私はそれを試してみましょう! –

+0

OPがスプライトキットプロジェクトを依頼し、UIKitプロジェクトをビルドしました。あなたのプロジェクトは質問 –

+0

OMGに答えられませんでした。私はその詳細をスキップしました:( – fatihyildizhan

0

元のビューコントローラで変数を作成します。

var shouldReset = true 

を次に、あなたが戻ってセグエを実行すると、あなたのprepareForSegueでこれを追加します。

あなた viewDidLoad
let vc = destination as! //Your view controller 
vc.shouldReset = false 

(またはどこでもリセットあなたのデータは):

if shouldReset == true { 
    //Reset 
} 
+0

私にとっては、これらのファイルはすべて現在非常に問題があります。私はPlayGameSceneと呼ばれるスプライトキットのgamesceneを持っています。そこでは、画面上を飛ぶノードを作成します。ポーズビューコントローラーである限り、彼らは空中に静止しておきたい、ということに焦点を当てています。私が帰ったら、ノードは彼らの旅を続けてほしい。私もPlayViewControllerを持っています。 私はコードをどこに置くべきですか? (私のばかげて申し訳ありません) –

関連する問題