6.HUD と通信する

Character ブループリントに保存された値に基づいて HUD を更新してみましょう。

Windows
MacOS
Linux

このステップでは、Character ブループリントと通信して、その中に保存された Pull、Shot、Score の値を取得し、HUD Widget ブループリント上に表示する値を更新します。Cast を使ってプレイヤーの Character ブループリントにアクセスして、Character ブループリントにある値を HUD のプロパティにバインドすることにより、これらの値が Character ブループリントで更新されると自動的に更新されるようになります。

ゲームの完了まであと少しです。最後に HUD の更新をしてみましょう。

  1. 作成した HUD Widget ブループリントを開きます。

  2. HUD Widget ブループリントの [Graph] タブをクリックします。

    GraphClick.png

  3. グラフ内を 右クリック して、Event Construct ノードを追加します。

    EventConstruct.png

    このノードは Event Begin Play に似ていて、 Widget ブループリントが構築されると呼び出されます。

  4. Get Player Character ノードと CastTo FirstPersonCharacter ノードを追加します。

    CastToFirstPerson.png

  5. As First Person Character ピンを引き出して、 Promote to variable を選択し、新しいノード名を「MyCharacter」とします。

    MyCharacter.png

    変数を選択し F2 を押すと、My Blueprint ウィンドウで関数名の変更ができます。

  6. [Designer (デザイナ)] タブで、まず [Details (詳細)] パネルの横にある [Pulls]、次に [Text] の値をクリックしてから [Bind (バインド)] オプションをクリックします。

    Bind1.png

    すると、バインド用に新規グラフが開きます。

  7. Control を押した状態で MyCharacter 変数を Get Pulls へドラッグし、 Return NodeReturn Value へ接続します。

    GetPulls.png

    To Text (Int) 変換ノードが自動的に作成されます。次に Pulls 値が正しく表示されるように設定します。

  8. [Designer] タブで [Shots] の値をクリックし、[Details] パネルで [Bind] オプションをクリックし、以下のようにバインドします。

    GetShots.png

    発射 1 回あたりの残弾数が正確に更新および表されます。

  9. [Designer] タブで [Score] の値をクリックし、[Details] パネルで [Bind] オプションをクリックし、以下のようにバインドします。

    GetScore.png

    最後に、岩にヒットするとプレイヤーに対して得点を正しく取得して表示します。

  10. [Compile (コンパイル)][Save (保存)] をクリックし、ブループリントを閉じます。

  11. メイン エディタ ビューで、 [Play (プレイ)] ボタンをクリックしてエディタで再生します。

これで簡単なシューティング ゲームが完成しました。岩をスポーンするには、前のセクションでイベントにバインドしたように F を押します。このガイドでは、イベントディスパッチャーCast ノードと Binding を使って 3 つの異なるブループリント間での通信方法を学びます。プロジェクトではレベルから Character ブループリントの通信方法に加えて、キャラクターから情報の HUD への渡し方を学びます。

プロジェクトの終了時には、サンプルを使ってプロジェクトを独自のものに変更してみます。このガイドのトピックスをカバーしている追加文書へのリンクも紹介しています。

タグ
Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信