Unityで2DRPGを際に起動(タイトル)画面がないことに気が付きました。
ゲームといえばタイトル画面が必要ということで、タイトル画面にスタート(はじめから)ボタン、ゲーム終了(おしまい)ボタンを作成したときに調べたことをまとめました。
起動画面
新しいシーンを作成
まずは、タイトル画面用に新しいシーンを作成します。
- メニューの[File]→[New Scene]を選択
- 新しいシーンを作成
- [File]->[Save]/[Scene As]と選択
- シーンを[MainMenu]という名前で保存しておきます。
タイトル画面を構成する要素作成
タイトル画面を構成する要素を作成します。
- [Hierarchy]上で右クリック
-[UI]->[Canvas]を選択
[Canvas]を作成すると[EventSystem]が作成されます。これは、ボタン等が押された時のイベントを処理するものなので削除しないでそのままにします。
[Canvas]以下の3つから選べます。デフォルトでは[Screen Space – Overlay]となっています。
- [Screen Space - Overlay]はシーンに配置するオブジェクト等より手前に表示
- [Screen Space - Camera]は指定したカメラ上にスクリーンサイズで表示
- [World Space] スクリーンとは関係なく、ゲームオブジェクトと同じように表示
今回はタイトル画面なのでScreen Space – Overlayを選択します。
以下から無料のフォントを事前にダウンロードしときます。
fontfree.me
テキストのフォント選択(CharacterのFont)でインポートしたフォントに変更しときます。
以下のようなタイトルが出来上がりました。
ゲームの[はじめから]ボタンを作成
[はじめから]ボタンを押した時にシーンを遷移させるスクリプトを作成します。
シーンの移動を行う場合[File]メニューの[BuildSettings]を選択し、シーンをドラッグ&ドロップして追加します。
a1026302.hatenablog.com
[MainMenu.cs]というスクリプトを作成し、以下のソースを追加します。
public void NewGame() { SceneManager.LoadScene(newGameScene); }
[はじめから]ボタンをクリックした際に読み込まれるシーンを以下のように指定しておきます。
ゲーム[おしまい]ボタンを作成する
[はじめから]ボタンをコピーして、その下にゲームを[おしまい]ボタンを作成します。
public void Exit() { Application.Quit(); }
[つづきから]ボタンを作成する
[はじめから]ボタンをコピーして、その上にゲームを[つづきから]ボタンを作成します。
public void Continue() { SceneManager.LoadScene(loadGameScene); }
これについては、別な機会にまとめたいと思います。
実装結果は以下のような感じです。