Language:
Page Info
Engine Version:

4.メイン メニューをスクリプティングする


作業に取り掛かり、メインメニューの機能をスクリプティングします。このステップの最後では、メインメニューでゲームを起動し、ゲームを開始し、オプション メニュー内の解像度も変更できるようにします。

  1. MainMenu Widget ブループリントを開いて Graph タブをクリックします。

    Script1.png

  2. MyBlueprint ウィンドウで PlayButton を選択します。次に、[詳細] パネルで On Clicked の隣にあるプラス記号をクリックします。

    Script2.png

    これでグラフにノードが追加され、ボタンがクリックされるたびに実行されます。

  3. 各ボタンに On Clicked イベントを追加します。

    Buttons.png

    グラフにボタンを配置し、わかりやすくするためにメニューのレイアウトを模倣します。

  4. OnClicked(PlayButton) から、OpenLevel (FirstPersonExampleMap に set) ノードと Remove from Parent ノードを追加します。

    PlayButton.png

    Level Name は、読み込みたいレベルの名前を示します (この場合は First Person Example マップ)。Remove from Parent ノードは、を使用し、 target Widget ブループリントをビューポートから取り除きます。ターゲットそのもの (これは、レベルを読み込んだ後、ビューから取り除きたい Main Menu Widget ブループリントです) に set されます。

  5. Ctrl を押しながら、MainMenuOptionsMenu の変数内でドラッグします。

  6. MainMenu からドラッグして、Set Visibility ノードを追加します。In Visibility を Hidden に set します。

  7. ドラッグして、Set Visibility ノードを追加します。Invisibility を Visible に set します。

  8. ターゲットを OptionsMenu 変数に接続します。

    OptionsButton.png

    ここでは、オプション ボタンがクリックされるとメインメニューをオフにし、オプション メニューをオンにします。

  9. Settings ボタンから Execute Console Command ノードを追加します。

  10. Command に対して、r.setRes XxY を使用します。この場合、X と Y は使用するサイズです。

    Resolution.png

    上の画面では、以下の設定を使用しました。640x4801280x720、 および 1920x1080

  11. Return Button について、ステップ 6 を繰り返しますが、設定を逆にして、メイン メニューを表示し、オプション メニューが非表示になるようにします。

    ReturnButton.png

  12. OnClicked (QuitButton) から、コマンド Quit に設定された Execute Console Command を追加します。

    QuitButton.png

  13. コンパイル保存 してから、Widget ブループリントを閉じます。

  14. コンテンツ ブラウザ で、 Main レベルを開き、次に Level Blueprint を開きます。

    OpenLevelBlueprint.png

  15. グラフ内で 右クリック して、Event Begin Play ノードを追加し、Create Widget (ClassMain Menu に設定します) を接続します。

    EventBeginPlay.png

  16. Add to Viewport ノードを接続し、Get Player Controller ノードを追加します。

  17. Get Player Controller から、True に設定された Set Show Mouse Cursor ノードを追加し、Compile し、ブループリントを閉じます。

    FinishedLevel.png

  18. Content/FirstPersonBP/Blueprints フォルダ内で、First Person Character ブループリントを開きます。

  19. Event Begin Play スクリプトの後に、Get Player Controller を追加し、Set Input Mode Game Only ノードを追加します。

    PlayerCharacterBlueprint.png

    これで、カーソルがオフになり、プレイヤーの入力が Game Only になります。

  20. コンパイル し、ブループリントを閉じて、 World Settings を開きます。

    WorldSettings.png

  21. Game Mode で、GameMode OverrideFirstPersonGameMode に set し、Default Pawn ClassCharacter に変更します。

    Overrides.png

    このマップに対するゲームモードを割り当て、プレイヤー キャラクターがプレイ可能な FirstPersonCharacter ブループリント内で Engine Default Character を使用するように変更します。メイン メニューの周囲をプレイヤーが走り回ったり、背後で射撃できないようにするためです。

  22. メイン ツールバーで Play ボタンをクリックしてエディタでプレイします。解像度のオプションをテストするには、Play-in-Editor ドロップダウン メニューから New Editor Window を選択します。

    上の画像をクリックするとビデオが再生します。

    これで、機能し、プレイヤーがゲームを終了、解像度を変更、ゲーム (指定したレベルでロードし、プレイヤーをゲームプレイに移行する) をプレイするメインメニューの作成が終わりました。

次のステップでは、ゲーム内の一時停止メニューを追加し、プレイヤーがゲームプレイを一時停止、またはゲームを終了し、メイン メニューに戻ることができるようにします。