Unityの覚書

個人的にUnityでやった記録しときたいことを書いておきます

Adventure Creator 「CREATING A TITLE-SCREEN MENU 2」のDeepL翻訳

  • 元ページ
  • 前回のチュートリアルでは、ゲームのタイトル画面に特別なメニューを作成し、そこからプレイヤーがゲームを開始できるようにしました。しかし、このメニューを有効にすると、ゲームが一時停止してしまいます。この間は、ゲームを一時停止せずに動作させたほうがよいでしょう。そうすれば、シーンに美しいアニメーション効果を加えることができます。

    タイトルメニューでゲームが一時停止しないようにするには、メニューのプロパティリストで<Pause game when enabled?>オプションのチェックをはずせばよいでしょう。

  • https://adventurecreator.org/sites/default/files/2020-07/1_11.png

  • 次に、<Options>と<Load>のメニューもタイトル画面からアクセスできるように、同じように変更します。

    ただし、通常のゲームプレイ中に表示されるように設定されているメニュー(3Dデモのインベントリやインゲームメニューなど)も表示されるようになります。これらのメニューは、一時的にロックしておく必要があります。シーンの<OnStart>カットシーンに戻り、ロックしたい各メニューに<Menu Change state>を追加してください。

  • https://adventurecreator.org/sites/default/files/2020-07/3_11.png

  • また、プレイヤーが<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>シーンの中にいるかどうかを確認します。

  • https://adventurecreator.org/sites/default/files/2020-07/title2-actions1.png

  • シーンにいないときにフリーズメニューを有効にしたいので、<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>アセットを修正する必要があります。アセットを選択し、一時停止メニューがオンになった後にこれを実行するアクションを追加します。
  • https://adventurecreator.org/sites/default/files/2020-11/title2-actions4.png

  • 通常のゲームプレイ中にオプションメニューやロードメニューが有効な場合、ゲームがフリーズするようになりましたが、タイトル画面ではフリーズしないようになりました。
  • ***これで終わり***