タクティクスシミュレーションRPGの作り方14 ゲームクリア・ゲームオーバー・フェードインを開発

Unity SRPG(戦略シミュレーションゲーム)の作り方


Unity入門の森オリジナル本格ゲーム制作講座はこちら
7種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

この記事はUnityを用いたターン制のタクティクスシミュレーションゲームのプログラミング開発講座の第14回です。

前回の記事でキャラクターの移動パターンを増やし、コマンドキャンセル処理を実装しました。かなり戦術面を向上させたゲームを作ることができるようになりました。

前回の記事:

UnityタクティクスSRPGプログラミング講座13 移動パターンを複数化・行動キャンセル処理を開発
この講座はUnityとC#で作るドット絵タクティクス戦略シミュレーションRPG開発講座の第13回です。 前回の記事でSRPGの状況把握が行いやすくなるスマホ対応カメラ回転移動処理や属性攻撃・BGMとSEの開発を行いました。 前回の記事:...

ここまで制作してきたこのゲームも基本部分として残すところはゲーム終了・再開処理のみ(さらに最後にもっともっとゲームを本格化させる機能追加も行うのでお楽しみに!)。

ゲームクリア・ゲームオーバー判定やリトライ、そしてフェードイン処理の実装を行っていきます。あと一息でひとまずドット絵タクティクスSRPGが完成します。頑張りましょう!


【Line登録者限定のプレゼントもあるよ!】

ゲーム終了表示のロゴUIを用意する

先にゲームクリア時とゲームオーバー時に表示するロゴUIを作成して配置しておきましょう。

ターン切り替え表示のものとほぼ同じでSource Imageのみが違うので、コピー&ペーストでオブジェクトを複製します。

オブジェクト名はそれぞれ「Logo_GameClear」「Logo_GameOver」、画像素材もそれぞれ「GameClear」「GameOver」にします。

GUIマネージャ側にこれらの画像を表示するメソッドまで用意しておきます。

GUIManager.cs
  • ゲームクリア表示は画像の拡大・縮小演出を追加しています。
  • Inspectorからのセットも忘れずに行いましょう。

ゲームクリア・ゲームオーバーを判定する

このゲームにおけるゲーム終了の判定は以下のようにします。

ゲームクリア 敵キャラクターが全滅した時
ゲームオーバー プレイヤーキャラクターが全滅した時

キャラクターが戦闘によって消滅するタイミングごとに判定を行えば良いことが分かります。

いずれかの形でゲームが終了した後はゲームの進行を無効にする処理も含めて判定処理を実装していきましょう。

続きを読む

このコンテンツはパスワードで保護されています。 コンテンツを読みたい方はUnity入門の森ショップ(https://unityforest.stores.jp/)で講座閲覧権を取得してね。

フェードインを実装する

シーンの切り替わりが開始する際、少し唐突な印象が感じられるので仕上げにここを改善したいと思います。

画面が切り替わる時は一時的に画面を白または黒色に覆い隠すのが一般的な手法です。この演出の開始をフェードインと呼び、切り替わった後の画面を少しずつ見せ始める事をフェードアウトと呼びます。講座ではフェードインのみを扱いますが、こだわりたい方は是非フェードアウトにも挑戦してみてください。

 

まずは画面全体を隠す為のUIオブジェクトを作成します。

画像UIでも良いのですが、全画面に表示するものはPanelオブジェクトとして作成するとRectTransform側の設定を省略できる為便利です。オブジェクト名は「FadeImage」としました。

このオブジェクトを作成した後の注意点として、必ずCanvas子オブジェクト内で一番後ろ(Hierarchyビュー内で下側)の順番に置いておく必要があります。

今の設定のCanvas内にあるUIはHierarchyでの順番によって画面の前面に表示されるか後ろ側に表示されるかが決まります。一番後ろに置けば一番前に表示される事になります。

オブジェクト側の設定としてはImageコンポーネントの[Color]と[Raycast Target]のみ変更します。最初は非表示とする為ColorのA値は0とし、タップの対象とならないようRaycast Targetをオフにします。

フェードイン開始スクリプト

このフェード画像をゲーム終了後(ロゴ表示開始と同じタイミング)で少しずつ非透明化していきたいと思います。

GUIManager.cs
  • ManagersゲームオブジェクトのInspectorからfadeImageの参照をセットしておきましょう。
GameManager.cs内 CheckGameSet

これでフェードイン演出を表現できるようになりました。

ゲーム完成!

これでゲームの開始から終了、リスタートまで一通り遊べる作品が出来上がりました。

シミュレーションRPGの作り方講座もこれにて一区切りとなります。お疲れ様でした。

しかし、ゲームとして面白くするには様々な要素をここから足していく必要があります。

そこで、講座ももう少しだけ続けてみることとします!

次回からは追加要素として「キャラクターの特技」、「キャラクター強化を行える周回機能」などの実装に挑戦してみましょう!

次の記事:

Unity SRPGの作り方15 戦闘時の特技スキル バフ・デバフ・回復・遠隔魔法を開発
この講座はUnityとC#で作るタクティクス戦略シミュレーションRPGの作り方について解説する講座の第15回です。 前回でターン制ストラテジーシステムのゲーム管理処理(ゲームオーバー・ゲームクリア等)を実装し、繰り返し遊べるようになりまし...

Unity SRPG(戦略シミュレーションRPG)の作り方講座に戻る>>



Unity入門の森オリジナル本格ゲーム制作講座はこちら
7種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

コメント

タイトルとURLをコピーしました