CorgiEngineメモ#9
ポーズメニューを調べる
Escキーを押すと、こんなメニュー画面が出てキャラの動きが一時停止する。なんぞこれー。ポーズメニュー⋯ ってやつなのかな?
各メニュー項目を押した時の挙動は、下記のとおり。
・「RESUME」を押すと、メニューが閉じて再開。
・「RESTART LEVEL」を押すと、再スタート。
・「BACK TO LEVEL SELECTION」を押すと、デモ選択画面に戻る。
キー入力対応
というかそもそも、キーボードとかの入力系ってどう捌いてるんかね?
となりゃ、怪しいのはEventSystemっしょ。調べてみると、シーン内に転がってるEventSystem内でStandalone Input Moduleで設定してた。どうやらこいつはUnity標準機能のようだ。
今まで使ったことが無いけれど、パッと見て便利そう。ポーズメニューは「Cancel Button」をトリガーに呼び出されているのだろう。
Edit->Project Settings->Input Managerで定義されているPlayer1_Pauseの項目を見てみると、キーボードのescapeや、ジョイスティック1のButton7が割り当てられている事が分かる。はえー。
もう少し早くこれ知ってたら、スクリプトの中でゴリゴリとジョイスティック対応しなくて済んだのになぁ。今後は気をつけよう。
メニュー画面の実体
プロジェクト内に転がってる「UICamera」を掘ってみると、PauseScreenに「PauseSplash」が設定されている事が分かる。
シーン内には、こんな感じで転がっている。各ボタンにはMMTouchButtonコンポーネントが含まれてる模様。
ポーズボタンにはPauseButtonコンポーネントがくっついてる。こいつがくっついてると、ボタン押した時にポーズ解除の某が発動するっぽい。ここは特に弄る必要がないと思うので、そっとしておく。
リスタートボタンにはLevelSelectorコンポーネントがくっついている。ボタン押した時に、レベルをリスタートさせる某が発動するっぽい。ここも弄る必要ないので放置。
レベル選択ボタンにもLevelSelectorコンポーネントがくっついてるが、こっちは遷移先のシーンを指定する必要がある。
ここを差し替えれば、自作のレベル選択画面に遷移できそう。まだレベル選択画面は作っていないので、あとで変えたろ。
まあ、あとはGUIのデザインを自分好みに弄れば良いっぽいわねぇ。
とりあえずメニューを画面中央寄せにしたり、ピクセル風のフォントに置き換えたりとかして遊んでみた。
この記事が気に入ったらサポートをしてみませんか?