Adventure Creator 「CREATING A TITLE-SCREEN MENU 1」のDeepL翻訳
- 元ページ
-
タイトル画面メニューは、ゲーム内のポーズメニューと似ていますが、特定のシーンに表示され、プレイヤーに「New game」をクリックしてから続きをするように促すものです。
しかし、ポーズメニューと同様に、オプション、ロード、終了オプションにアクセスできるようにしたいので、新しいタイトルメニューで動作させるために、これらのメニューにいくつかのロジックを追加する必要があります。このチュートリアルでは、Options、Load、Quit のボタンがある Pause メニューがあらかじめ用意されていると仮定します。3D Demo にはそれがあり、New Game Wizard で作成した Menu Manager にもあります(ただし、空白を作成した場合を除く)。
タイトルメニューは、ポーズメニューと似ているので、それをコピーして使います。メニューマネージャタブで、<Pause>メニューの横の歯車ボタンをクリックし、<コピー>をクリックします。
- メニューリストの下にある<Paste menu>ボタンがアクティブになります。これをクリックして、ポーズメニューの複製を作成し、新しいメニューの名前を<Pause(Copy)>から<Title>に変更します。
- このメニューは特定のシーンで表示させたいので、<Appear type>を<Manual>に変更します。<Enabled on start?>のボックスがチェックされていないことを確認します。
- このメニューはゲーム開始時に表示されるので、Saveボタンは必要ありません。メニューの要素一覧から、<SaveButton>の横の歯車ボタンをクリックし、<Delete>を選びます。
- 再開ボタンを新規ゲームボタンに変更する必要があるので、<ResumeButton>要素をクリックし、<NewGameButton>に名前を変更し、<Button text>を<New game>に変更します。最後に、<Click type>を<Run Action List>に設定します。
-
しかし、メニューはシーンとは独立して動作するため、カットシーンのようなシーンベースのActionListを提供することはできません。その代わりに、アセットファイルの中にActionListを作成します。
ゲームフォルダ内に新しいフォルダを作成し、MenuActionListsと名付けます。このフォルダの中で、プロジェクトウィンドウの<Create → Adventure Creator → ActionList>を選択して、Menu ActionListを作成します。
-
この新しいアセットに<Begin new game>という名前を付けます。
このActionListを使用して、タイトルメニューを閉じ、ゲームのオープニングシーンをロードします。このファイルのインスペクタで、<Menu Change state>アクションを作成します。<Menu to turn off>に<Title>を入力し、<Change type>を<Turn Off Menu>に設定します。
- 後ほど、このタイトルシーンが始まるときに、ポーズメニューをロックして、Escapeを押したときに表示されないようにします。そこで、今のうちにロックが解除されていることを確認しておきましょう。ロックを解除するための<Menu Change state>アクションを追加します。
- ***上記の説明
- ***上記の説明
- 次に、<Scene Switch>アクションを追加し、ゲームの導入シーンのシーン番号または名前を入力します。この例では、"Intro "という名前のシーンを読み込んでいます。
- タイトルメニューに戻り、NewGameButtonのActionListを、この新しいActionListとして実行するように設定します。
-
Optionsボタンや Loadボタンをクリックすると、該当するメニューがクロスフェードインします。しかし、オフにすると<Pause>メニューにクロスフェードバックするように設定されています。この動作を変更し、これらのメニューがTitleとPause menuの両方から呼び出されるようにする必要があります。
まず、オプションメニューから始めましょう。メニューを選択し、その<BackButton>要素を選択します。<Click type>を<Turn Off Menu>に変更し、<Do transition?>を有効にしてフェードアウトするようにします。
- ***ここは画像がリンク切れ***
-
メニューのプロパティのリストには、メニューがオフになったときに実行されるActionListを定義できることに注意してください。これを利用して、現在ロードされているシーンに応じて、「一時停止」または「タイトル」メニューをオンにすることにします。
先ほどと同じように、ActionListアセットを作成し、<Exit sub menu>という名前を付けます。インスペクタの上部にある <When running> フィールドを <Run In Background> に設定します。
-
このリストでクエリを作成するので、ActionList Editorウィンドウを使うと簡単です。アセットのインスペクタで<ActionList Editor>をクリックし、表示されたウィンドウをドッキングします。
デフォルトのActionを<Scene Check>に変更し、<Choose scene by>を<Name>に設定します。そして、タイトルメニューが使用されるシーンの名前を入力します(この場合、<TitleScreen>です)。
- もし、この条件が満たされていれば(つまり、現在TitleScreenのシーンにいる)、Titleメニューを有効にしたいと思います。そうでなければ、「一時停止」メニューを有効にします。2つの出力ソケット(アクションの右下)からワイヤーをドラッグして、2つの新しいアクションを作成し、それらを<Menu Change state>に設定します。
- アクションを編集して、タイトルメニューとポーズメニューをそれぞれオンにし、両方で<Fade?>にチェックを入れます。
- これでActionListが完成しましたので、アサインしてみましょう。<Menu Manager>に戻り、オプションメニューの<ActionList when turn off>を<Exit sub menu>に設定します。
-
次に、「Load」メニューにも同じことをする必要があります。ただし、ActionList アセットは再利用できます。Loadメニューの<BackButton要素>を選択し、<Click type>を<Turn Off Menu>に設定し、<Do transition?>をチェックします。
そして、<ActionList when turn off>を<Exit sub menu>に設定します。
これで、このタイトルメニューをシーンに表示する準備が整いました。シーンマネージャの <On start> の隣にある <Auto-create> をクリックして、ゲーム開始時に実行される新しいカットシーンを作成します。
- <Menu Change state>アクションを作成します。<Change type>を<Lock Menu>に設定し、<Menu to turn lock>欄に<Pause>と入力します。
-
これにより、「Menu」入力ボタン(デフォルトではEscapeにマップされています)を呼び出したときに、「一時停止」メニューが表示されないようにします。
次に、別の<Menu Change state>アクションを作成します。今回は、<Change type>を<Turn On Menu>のままにして、<Menu to turn on>ボックスに<Title>を入力します。
- これで、シーンが始まるとタイトルメニューが表示されるようになりました。先ほどの<Exit sub menu>アセットで参照した名前(この場合はTitleScreen)でシーンを保存してください - そうしないと、OptionsとPauseメニューが閉じたときに、正しいメニューにクロスフェードしないでしょう。
- ***ここでこのページは終わり***
- 続きは 「CREATING A TITLE-SCREEN MENU 2」へ