前回の記事ではタイトル画面を作成しました。
しかしタイトル画面だけではもちろんゲームとして成り立っていないのでタイトルからゲームモードへの移行について説明します。
##今回できること
- ボタンによってのレベル遷移
#ボタンの設置
前回作成したウィジェットブループリントを開きます。パレットから”Button”をCanvasPanelへとドラッグ&ドロップします。
次に”Text”をButtonにドラッグ&ドロップします。これは子ウィジェットにする作業~~(正式名称は知らない)~~
今までの背景画像のImageやタイトル文字のTextはCanvasPanelの子ウィジェットとして設定していたというわけです。
それでは好きなところに設置してサイズなど適当にいじってみましょう、ボタン内のテキストは「START」とします。
##仮ステージの設置
それではSTARTボタンを押した際に遷移するレベルを先に作っておきましょう。
左上のファイルから新規レベル作成で”空のレベル”を選択し保存、名前は「MainGame」にしました。
レベルに遷移したことをわかりやすくするために前回の記事同様に新しいウィジェットブループリントを作成し、画像を設置します。
↑こんな風に
その後レベルブループリントでウィジェットの表示を設定し完了です。
#レベル遷移
タイトル画面のウィジェットブループリントを開きます。
Buttonを選択し、画面の右側にある詳細の下の方にある”イベント”にある”On Clicked”の+ボタンを押下します。
すると自動的にイベントグラフ画面に移動したと思いますのでそのまま作業を続けます。
出力ピンから伸ばし、”Open Level”を選択、Lebel Nameを前の工程で作った仮ステージに設定します。ここでは「MainGame」です。
実際にプレイし、確認してみましょう。
このようにボタンに対してイベントを設定しOpen Lebelによってレベルを開きます。
これで今回の作業は終わりです、お疲れさまでした。
##その他イベントについての余談
On ClickedのほかにOn PressedやOn Hoveredなど色々あったと思います。
それらの挙動について説明しましょう。
On Clicked → 対象をクリックし離した際にイベント発生。しかし対象の範囲外へとカーソルを移動してから離した際は発生しない。
On Pressed → 対象をクリックした瞬間にイベント発生。
On Released → 対象をクリックし離した際にイベント発生。対象の範囲外へカーソルを離してもイベントは発生します。
On Hovered → 対象にカーソルを合わせた際にイベント発生。
On Unhoverd → 対象にカーソルを合わせてから、範囲外へ出たときにイベント発生。
それぞれ場面に合わせてうまく使えるといいですね。