格闘ゲームの作り方・プログラムの解説 その4

今回は、 セレクトステージのWidegetブループリントについて説明します。

前回の記事で説明した、関数「Select Mode」の最後の処理でカスタムイベント「Begin to Select Stage」を処理しており、今回はこのカスタムイベントから説明していきます。

「Begin to Select Stage」 の処理を開始してから1.0秒後にコントローラの入力状態を管理している変数を初期化した後、変数”Select Stage”にTrueを代入することで、Tick側のセレクトステージの処理を可能にしています。

次に、画面を黒くしたアニメーションを逆再生して画面を見えるようにするのと同時に、セレクトステージのタイトル画像や選択肢を表示するアニメーションを再生します。

セレクトステージ のタイトル画像やステージ選択肢の構成、アニメーションの設定は次のようになっています。

セレクトステージは5つの選択肢から選ぶようになっていますが、画像やボタンを水平に並べる場合は、まず、タイル状に画像やボタンを並べることができる、「Uniform Grid Panel」を使用します。

今回はこの「Uniform Grid Panel」の中に行と列を指定できる「Check Box」を使用して、画像を水平に並べています。

「Check Box」 内の画像はエディタ右側のパラメーター”Style”内のUnchecked Imageで指定しています。

その他は、タイトル画像やステージ名称の画像、選択したステージの拡大画像で構成されています。

これらをTranslationやColor and Opacity、Scaleなどのアニメーション効果を使用して表示させています。

その後、0.2秒後にステージセレクトのタイトルコールの音声を再生し、Player01のコントローラ入力を許可しています。

次にTickに繋がっている、変数”Select Stage”がTrueになると関数「Select Stage」の処理を開始します。

関数「Select Stage」 では、ステージの選択肢でどれを選択しているかを表示する青枠の処理をしています。

青枠の画像を設定している 「Check Box」の”Onfocus Box02″ から行と列の情報を取得できる「Slot」を参照し、「Cast to UniformGridSlot」を使用して「Uniform Grid Panel」の列と行を制御するスロットとして指定します。

それから、「Set Column」を使用して列を指定しますが、どの列を指定するのかは、整数型の変数”Column”の値で指定します。

変数”Column” の初期値は「0」であるため、青枠は一番左に位置した状態で表示されます。

次に”Input Value H”を参照したSwitchノードを使用して、横方向のキー入力に応じた処理を行っていますが、例えば方向キー右が1回入力された場合は、”Input Value H”の値が「1」となり、”Column”に「1」が代入されることで青枠の位置が右へ移動します。

さらに、ステージ名称とステージの拡大画像を入れ替えています。

その後、Enterキーもしくは○ボタンの入力待ちの状態となります。

Enterキーもしくは○ボタンが入力されると”Enter”にFalseを代入して、入力のリセットを行う処理とステージをロードする時に必要なレベルファイルの名称をString型の変数“Name_of_Level”へ代入します。

さらに、”Input Posssible for P01”をFalseにしてPlayer01の入力を不可にするのと、”Select Stage”をFalseにして セレクトステージの処理を終了させた後、セレクトステージのアニメーションを逆再生して画面から見えないようにしています。

それから、画面を黒くするアニメーションを再生し、キャラクターセレクトで使用するPlayer01のCommon_Controllerで定義されている整数型の変数”P01 Char Num”と”P02 Char Num”に初期値の「0」を代入するのと、カスタムイベント「Begin To Select Character」の処理や入力状態を管理している変数のリセット処理も行います。

それでは、次にセレクトステージで、 Backspaceキーや☓ボタンが押されたときに、変数”Cancel”がTrueになったときの処理を説明します。

これは セレクトステージ からセレクトモードへ戻る処理となります。

まず、”Input Possible For P01”にFalseを代入して、Player01の入力を不可にした後、 セレクトステージ のアニメーションを逆再生するのと、 画面を黒くするアニメーションを再生します。

その後、変数”Select Stage”をFalseにして、 セレクトステージ の処理を完了させ、カスタムイベント「Back to Select Mode」の処理と、入力状態を管理している変数のマクロによるリセット処理も行います。

それでは、カスタムイベント 「 Back to Select Mode 」の処理 を説明します。

既に、画面を黒くするアニメーションが実行されているため、開始後0.5秒後にセレクトモード用の背景を可視化(Visible)した後、既に説明したカスタムイベント「Begin to Select Mode」を処理します。

以上で説明は終了です。

次回はキャラクターセレクトの処理を説明します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください