【日本語】 UE4 ホッケーゲーム part.9 UMGのボタンでレベル移動 【チュートリアル】
さあ、ボタンを機能させて、2面("LV_2_Game")に飛べるようになる日が来た。ウィジットブループリントを開いて早速必要なノードを書き込んでいこう。
----------
- "WG_Start"を開く
- [Graph]の所、押す
- [EventGraph](イベントグラフ)が開く
追加の解説】
[1] 特に無し。
[2] 今までは、デザイナーモードで、キャンバスにテキストを置いたり、ボタンを置いたりして、見た目を作ってきた。[Designer]がオレンジ色だった。今度は、置いたボタンにブループリントで機能を追加したいので、ブループリントが書けるグラフモードに移行する。[Graph]をオレンジ色に。
[3] イベントグラフが出てくると同時に、薄暗くなっているノードが2つ、おまけで置かれている。[Event Constsuct]の方は、ウィジットブループリント用の[Event BeginPlay]。最初に1回だけ実行しにくるノード。出てきたノードは、今回、両方共使わないので、消しちゃってもイイ。残してていいけど。どっちでも。
----------
- 左側、[My Blueprint]の[Variables]に[Button_xxx]があるはず
- 選択すると、ここに[Details]が出る
- その中の[Events]に3つイベントが出るはず
[On Clicked]
[On Pressed]
[On Released] - マウスクリックでボタンを機能させたいので、[On Clicked]の[+]を押す
- すると、イベントグラフに[OnClicked(Button_xxx)]ノードが追加される
【追加の解説】
[4] [Button_xxx]の"xxx"には番号が入ってると思うが、人によって違う番号だと思う。本当は、こうならないようにデザイナーモードの時にボタンに名前を付けておけばよかった。だが、スクショも撮っちゃったし、加工もしちゃったので、今回はこれで。あれだったら、デザイナーモードの方に戻って、好きに名前を変えてくれ。
[5] ボタンは、勝手に"variable"(変数)に登録される。これは、すごい親切設計。簡単に言うと、ボタンが持ってる色んな情報にアクセス出来るようになるってことだ。リファレンスみたいなもんだ。
[6] さらに親切なことに、「ユーザーが使うんじゃないの?」って考えられるイベントも選択できるように出してくれる。クリック、押す、離す、の3つ。マウスでクリックしたいから、[On Clicked]。イヤ、ホント、この辺、UE4は親切だな。使うだろう項目を出してくれて、クリックで選べるようになってるからな。助かる。
[7][8] 緑の[+]をクリックすると、イベントグラフの所に[OnClicked(Button_xxx)]というノードが現れる。これは、指定のボタン(Button_xxx)がクリックされた時に実行しに来るっていう、非常に分かり易いノード。
----------
- 出てきた[OnClicked(Button_xxx)]から白線を引っ張って
- "Open Level"を検索、選択
- [Level Name]に行きたいレベル名を手動入力、"LV_2_Game"
- コンパイルして、セーブして、完了
【追加の解説】
[9]~[12] 特に言うことはないな~。[11]でレベル名を手動入力しなくちゃいけないのが、なんかヤダな、選択できるようにやってくれないものか、って思うくらいだ。
これで一応2面に行けるようになったけど、、、
----------
ああああああーーーーーーっ。
[Play]押しちゃった? 前回も書いたけど、今はキー入力が制限されている、危険な状態。[ESC]キーが効かない状態なんだ。ホントなら、マウスカーソルの表示は"ON"に設定したから、"LV_2_Game"のレベルが開かれても、ずっとみえてるハズなんだけど、なんでか、1回ビューポートをクリックしちゃうと、消えちゃう。[Shift]+[F1]の入力も受け付けない。(俺だけか?) だから、ツールバーの[Stop]もクリック出来ない。
と、まー、ゲームから抜ける手段を与えていない状態なんだ。ゲーム地獄。
次回は、この辺を先に処理してから、出来上がり具合を確認することにしよう。
"Save All"
.
.
[Alt]+[Tab]で他のウィンドウを出せば、マウスカーソル出てくるからダイジョブって言えばダイジョブだけどね。