Adventure Creator 「CREATING A TITLE-SCREEN MENU 2」のDeepL翻訳
- 元ページ
-
前回のチュートリアルでは、ゲームのタイトル画面に特別なメニューを作成し、そこからプレイヤーがゲームを開始できるようにしました。しかし、このメニューを有効にすると、ゲームが一時停止してしまいます。この間は、ゲームを一時停止せずに動作させたほうがよいでしょう。そうすれば、シーンに美しいアニメーション効果を加えることができます。
タイトルメニューでゲームが一時停止しないようにするには、メニューのプロパティリストで<Pause game when enabled?>オプションのチェックをはずせばよいでしょう。
-
次に、<Options>と<Load>のメニューもタイトル画面からアクセスできるように、同じように変更します。
ただし、通常のゲームプレイ中に表示されるように設定されているメニュー(3Dデモのインベントリやインゲームメニューなど)も表示されるようになります。これらのメニューは、一時的にロックしておく必要があります。シーンの<OnStart>カットシーンに戻り、ロックしたい各メニューに<Menu Change state>を追加してください。
- また、プレイヤーが<New game>ボタンをクリックしたときに、これらのメニューのロックを解除する必要があります。<Begin new game>のActionListアセットを選択し、各メニューのロックを解除するActionを追加します。必ず<Scene Switch>アクションの前に重ねてください。
-
しかし、もっと大きな問題があります。OptionsメニューとLoad メニューが有効なときに、通常のゲームプレイがフリーズするようにしたいのです。この2つのメニューの複製をタイトル画面用に作成することもできますが、より良い方法は、いつでもゲームを一時停止できる「隠し」メニューを使用することです。
メニューマネージャで、<Create new menu>をクリックし、新しいメニューの名前を<Freeze>に設定します。Pause game when enabled?> と、重要なことですが - <Ignore Cursor clicks?> にチェックを入れてください。これで、プレイヤーが不用意にクリックできないようになります。
-
要素を追加せず、メニューの<Background texture>を空白にすると、メニューは見えなくなり、その目的は単にゲームプレイをフリーズさせることになります。通常の Pause メニューがオンになっていてもゲームはフリーズするので、Options と Load メニューが有効なときだけ、このメニューを有効にする必要があります - シーンに TitleScreen がない限り。
このFreezeメニューを有効にするためのActionListを作成します。新しいActionListアセットを作成し、<Enter sub menu>という名前を付けます。これには「チェック」アクションが必要ですので、ActionList Editor ウィンドウでアセットを表示します。
デフォルトのアクションを
<Scene Check>に変更し、前のチュートリアルの<Exit sub menu>アセットで行ったのと同じシーンをチェックするように設定します。ここでは、<TitleScreen>シーンの中にいるかどうかを確認します。
- シーンにいないときにフリーズメニューを有効にしたいので、<If condition is not met>のソケットからワイヤーをドラッグして新しいアクションを作成します。もう一方のソケットが自動的に新しいActionにアタッチされる場合は、ポップアップを<Stop>に変更するだけです。新しいActionのタイプを<Menu Change state>に設定し、メニュー<Freeze>をONにするように設定します。
- このActionListは、OptionsまたはLoadメニューのいずれかがONになったときに実行されるようにしたいと思います。それぞれのメニューの <ActionList when turn on > フィールドにこのアセットを割り当てることで実現できます。
- また、Freezeメニューを再び無効にするために、<Exit sub menu>アセットを修正する必要があります。アセットを選択し、一時停止メニューがオンになった後にこれを実行するアクションを追加します。
- 通常のゲームプレイ中にオプションメニューやロードメニューが有効な場合、ゲームがフリーズするようになりましたが、タイトル画面ではフリーズしないようになりました。
- ***これで終わり***