2017-02-08 8 views
0

私は、XCodeによって作成された単一のデフォルトのGameSceneで行われたゲームを開発しています。今度は、GameSceneの前に表示されるタイトル画面や「Game Over」シーンなどの画面を追加したいと考えています。シーンゲームオーバーはGameSceneから移行し、バックと正常に動作しますが、私はタイトル画面がGameViewController.swiftにコードを変更するにもかかわらず、表示するために取得カントされています起動時に表示されるデフォルトのSKSceneを変更する方法

class GameViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

    //Original default code: 
    //if let scene = GameScene(fileNamed:"GameScene") { 
    //modified code 
     if let scene = Titles(fileNamed:"Titles") { 
      //<...more code...> 
     } 

アプリはまだ動作しますが、ちょうど空白の画面が表示されます。 GameSceneファイルにはSceneScene.skがあります。これはシーンの内容をグラフィカルに表現していると思います。シーンコンテンツがプログラムによって追加されていても、別の.sksを作成するか、これを新しいデフォルトシーンにリンクする必要がありますか?

GameSceneのすべてのコードを新しいSKSceneに移動してGameSceneをタイトルとして使用することができましたが、問題とその解決方法が不思議でした。何か案は?

多くのおかげで、 Kwを

答えて

1

はい - 「fileNamed」とのシーンを初期化することは.sksファイルを参照するので、あなたは1を作成する必要があります。このコード行で

let scene = Titles(fileNamed:"Titles") 

あなたがタイプTitlessceneと呼ばれる新しいシーンオブジェクトを作成します。

fileNamed
class Titles: SKScene { 

は:SKSCeneのための多くの初期化子のひとつであり、これは、ロードする.sksファイルを指定しますこれは、あなたが持っている必要がありtitles.swiftで、すなわち、あなたの迅速なファイル内のクラス名と一致する必要があります。

let scene = Titles(size: CGSize(width: 1536, height: 2048)) 

この質問とその答えは、あなたが遭遇する可能性のある潜在的な問題に役立つかもしれない受け入れられています - How to add an .sks files to existing Swift/Sprite-Kit project?

:あなたがプログラムで、あなたのシーン内のすべてのコンテンツを配置したい場合は、おそらく使用
関連する問題