これは、GameViewController()クラスファイルのviewDidLoad()にあるコードです。
skView.presentScene(startScene)
SKTexture.preloadTextures(BGTextures, withCompletionHandler: { () -> Void in
print("SKTextures have loaded.")
})
プリロードテクスチャが呼び出される前にビューがstartSceneに変わるため、ゲームの開始時に白い背景が表示され、テクスチャがロードされた後に正しい背景が表示されます。これはひどいように見えます。
代わりに、テクスチャが読み込まれたときにのみシーンが変更されるように作成しましたが、これにより、テクスチャの読み込み中にアプリ全体が白い背景に表示されます...テクスチャをプリロードするのは無意味です。白い画面を表示したくありません(これはスプラッシュ画面の間に発生することをイメージします)。
この白い色が表示されないようにするにはどうすればよいですか?
これを行うには2つの方法があります。1つはbackgroundColor
、ビューの(シーンではなく)を次のように設定することです。
self.view.backgroundColor = UIColor(red: 0.5, green: 0.5, blue: 0.5, alpha: 1.0)
シーンを提示する前にこれを行います。
もう1つの方法は、スプラッシュ画面の画像をビューに追加することです。基本的に、スプラッシュ画面をストーリーボードエディターのビューにドロップし、制約(エディターの右下隅)を追加して、希望どおりに拡大縮小されるようにします。これにより、スプラッシュ画面からビュースプラッシュ画面、そしてゲームへのシームレスな移行が可能になります。
テクスチャをロードした後にゲームシーンが表示されるようpresentScene()
に、preload
どちらかの方法で完了ハンドラを呼び出すことをお勧めします。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加