Unity研究所<Unityによるゲーム開発、映像開発>

Unity初心者40代後半中年中間管理職おやじが綴るゲームで小遣い稼ぎできるようになるまでのブログ

⑦オープニング表示

今回はゲームのオープニング画面というか、ゲームのスタート待ち画面と、ゲーム画面への移行について紹介する

 

f:id:Harukichi:20190824164242g:plain

上のを一応説明しておくと、Push Spaceと表示されている画面がゲームの開始待ち画面、そのあとのLevel3 Startと表示されているのがゲームの開始画面となっている

 

〇用意するもの

 ・ゲーム開始待ちのScene

 ・ゲーム中のScene

    ・SceneManager.LoadScene("シーン名")

 

ア ゲーム開始待ちシーンの作成

 f:id:Harukichi:20190824165028p:plain

メニューからNew Sceneを選択して、新しいSceneを作成

Startという名前で保存

 

 

f:id:Harukichi:20190824165504p:plain

 背景を真っ黒にしたいので、MainCameraを選択し、InspectorのCameraの項目のClear FlagsをSolid Colorに変更

 その下のBackgroundをクリックすると色選択ダイアログが表示されるので、好きな色を選択

 円になっているところをクリックして、大まかな色を選択し、四角の中をクリックして最終的な色を選択する

 その下のRGBAに直接数値を入れて色を作成することも可能

 なお、Aについては透過度を変えることができる

 

 

f:id:Harukichi:20190824170256p:plain

次にテキストを表示するために、HierarchyのCreate-UI-Textを選択する

 

f:id:Harukichi:20190824213724p:plain

テキストを作成すると、Canvasなるものが作成されるが、UIについてはすべてこの中に配置、描画される。

Textを選択し、Inspectorにて表示されるテキスト、フォントサイズ、色などを設定していく

 

f:id:Harukichi:20190824214002p:plain

Scene View内のCanvasについては、なぜか裏側から表示されたりして編集し辛いので3Dのプロジェクトを作成の場合は、「2D」のボタンを押して2D空間に固定するとやりやすくなる

Textを表示したい位置に移動

 

f:id:Harukichi:20190824214208p:plain

あと、ゲームが実行されるときの画面サイズが不定の場合は、文字サイズが設定したサイズにならなかったり都合が悪い場合もあるので、CanvasのScalerの中のUI Scale ModeをScale With Screen Sizeにしておくと、画面のサイズにキャンバスのサイズも調整してくれるので、文字もちょうど良い感じに表示される

 

 

f:id:Harukichi:20190824214838p:plain

 ちょっと適当だが、タイトルの文字とゾンビを配置して、開始待ち画面が完成

 

イ スクリプトの作成

ゲームのシーン管理用に、Hierarchy上で空のゲームオブジェクトを作成し、これにスクリプトを追加する(空のゲームオブジェクトについてはGameContorollerなどと分かりやすい名前に変えておく)

 

f:id:Harukichi:20190824215658p:plain

シーン移行を管理するには、上記のようにSceneManagementを使うという宣言が必要

あとは、ユーザーのキー操作でスペースキーが押されたときにSceneManager.LoadScene("シーン名")

にて移行先のシーンを呼び出す

 

〇ビルド時のセッティングについて

f:id:Harukichi:20190824220119p:plain

なお、プロジェクトをビルド(アプリ化)するにあたっては、ゲーム内でSceneを複数作成した場合は、最初に呼び出されるSceneを設定しておく必要がある。

File-BuildSettingを選択し、上記の用ように最初に読み込まれるSceneをAdd Open Scenesを押して、最初に呼び出されるSceneを設定しておく

 

ちなみに、Unity Editor上では、再生ボタンを押すと現在開いているScenetが再生されるので、注意を

 

〇今回のまとめ

・テキストを表示するにはUinty UIを使用

・複数Sceneを作成した場合は、SceneManager.LoadScene("シーン名")を使用して移行したいSceneを呼び出す

・ビルド時には最初に読み込むSceneの設定が必要 

 

今回は以上(中身薄っ(-_-メ))