河原電子ビジネス専門学校は修学支援制度の認定校です。
文字サイズ
  • 標準
  • 拡大
背景色
音声読み上げについて

学科ブログ

SCHOOL BLOG
2016.03.17 ゲームクリエイター科

【UE4】マウスクリック位置にウィジェットを表示するブループリント

みなさん、こんにちは。

今回は、EpicGamesが提供しているUnrealEngine4に関する技術的なことを書こうと思います。

ちなみに、UnrealEngine4は大手ゲーム会社でも開発に使用されている「ゲーム開発ソフト」です。

今回の記事のテーマは、「マウスクリック位置にメニューを表示する」です。

今回は、ブループリントを使って実現します!

まず、ウィジェットがこちら(適当です)↓

続いて、ブループリントがこちら↓(このブループリントはレベルブループリントに書いていますが、ウィジェットで制御するのが良いと思います!あと、ブランチ先は関数にしとく方が汎用性が上がると思いますが、とりあえずということで・・・)

このブループリントで実行すると、マウスの左ボタンをクリックするとクリックした場所にメニューが表示し、メニューが表示されている状態でメニュー以外の場所をクリックするとメニューが非表示になります。

流れはこんな感じ(↓)ちなみに、今回は変数として「メニューが表示されているか」を示すIsOpenedMenuと、「メニューウィジェット」を格納したMenuWidgetを作っています。

①マウス左ボタンイベントのPressedの時次のノードへ

②自分で追加したBool型変数「IsOpendMenu」の状態を判断

  真なら③、偽なら④へ

③IsOpendMenuが真の時の処理

  1)IsOpenedMenuを偽にする

  2)「RemoveFromParent」を使用し、ウィジェットを非表示にする。

    Targetにはメニューウィジェットを繋げる

④IsOpendMenuが偽の時の処理

  1)IsOpenedMenuを真にする

  2)「AddToViewPort」を使用し、ウィジェットを表示させる。

    Targetにはメニューウィジェットを繋げる

  3)「SetPosition in ViewPort」を使用し、座標をセットする。

    Targetにはメニューウィジェット、Positionにはマウスの座標を繋げる

これで出来上がりです。 細かい説明をせず荒っぽい説明になっちゃいましたが、これでめでたくクリック位置にメニューが表示されるようになります。

UnrealEngine4を使ったことがない人からすると「なんのこっちゃ」という記事になっちゃいました。

ちなみに、このUnrealEngine4は、次回3/19のオープンキャンパスの体験授業で触れる予定ですので、ちょっとでも気になった方は是非お気軽にご参加ください。