Unityに関連する記事です

 この手順では、ゲームのクリアの条件を設定し、そのために必要な機能を実装していきます。

 条件については提示を行いますので、その条件のために必要な情報や制御の処理を自分で考えていく学習を行います。


<実装動画>
動画ファイルへのリンク


 以下の内容で実装を進めていきます。

手順26 ーゲームのクリア条件と判定機能の実装ー
44.ゲームのクリア条件を元にクリア判定を実装する



 新しい学習内容は、以下の通りです。

 ・ロジックを考えて処理を実装する



44.ゲームのクリア条件を元にクリア判定を実装する

1.設計


 ゲームのクリア条件の設計を行い、その条件を元にしてクリアの判定を行えるようなロジックを考えていきます。

 ゲームクリアの条件は【生成された敵がすべて破壊されたとき】とします。

 ポイントとしては、次の通りです。

 ・すべての敵が生成されるまでは、敵を全滅させていたとしてもゲームクリアとはしない
    => 例えば、5体の敵が生成される際、3体を全滅させていてもその段階ではクリアにはならない
 
 ・敵を破壊した状態はなんでもよい。よって、キャラが攻撃して破壊した場合も、拠点に敵が侵入して敵が破壊された場合も、等しく破壊として判断する
    => 単純に敵を破壊した数をカウントできればいい

 どのような情報があればこのクリア条件を判定することができるのかを考えてみましょう。



 ロジックを考えていく上で重要なポイントは、処理の全体像をつかむことと、処理のスタートするタイミングと、処理の目標(ゴール地点)を明確にすることです。

 今回の処理に当てはめるのであれば、処理の全体像とは、敵を破壊した際〜クリアの判定を行うまで、になります。

 よって、処理のスタートするタイミングも、敵を破壊した時です。

 その処理のゴール地点となる部分が、ゲームクリアの判定を行う部分です。

 これらを念頭におきながら、処理のスタートする場所に、実装したい処理の内容を日本語でコメントを書いていくようにします。
そして、その処理が実行された際につながる処理がどこにあるべきかを考えて、その場所にも、また、実装したい内容のコメントを書いていきます。

 この手順を繰り返して、ゴールとなるゲームクリアの判定をどのクラス内に設定するかを見定めながら書いていきます。

 その後、処理の流れを見直します。設計として破綻していたり、間違っている部分はないか、もっと効率的な処理の流れはないか、といった観点で見直しをします。

 最後に、コメントの最後の部分から処理の実装を行っていきます。ゴール地点に、クリアの判定処理を行うメソッドを作成し、そこから
コメントの順番に合わせて、スタート地点へと戻りながら処理を実装を行っていきます。

 ロジックの考え方と実装手順の一例ではありますが、このような方法で設計から実装までをサイクル化して考えていくようにしてみてください。

 なお、クリア判定の制御が行えたら、クリアになったときには Debug.Log メソッドを使って "ゲームクリア" と Console ビューに表示するようにしてください。
ゆくゆくはこの部分に、実際のクリアの処理を追加していくことになりますので、判定の確認と残っている実装の目安の両方に活用できます。


2.ヒント


 参考用の実装例を提示しておきます。
自分で処理を考えてから、振り返りとして学習を行ってください。

<ヒント>

<= クリックすると開きます。



3.実装例


 処理を組み立てるときは、スタート地点からコメントを記述した方が書きやすいです。
逆に、プログラムを実際に書く際にはゴール地点から記述していく方が書きやすいです。
スタート地点から処理を書いていってもいいですが、呼び出し対象となるメソッドがまだないため、その都度、一時的にエラーが出ることになります。

 ここではスタート地点からコメントを書き終わったあとに、コメントの部分をゴール地点からプログラムとして実装していく方法で進めています。


<実装例>

<= クリックすると開きます。




 以上でこの手順は終了です。

 次は 手順27 −カレンシー機能の実装− です。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu



技術/知識(実装例)

2Dおはじきゲーム(発展編)

2D強制横スクロールアクション(発展編)

3Dダイビングアクション(発展編)

2Dタップシューティング(拡張編)

レースゲーム(抜粋)

2D放置ゲーム(発展編)

3Dレールガンシューティング(応用編)

3D脱出ゲーム(抜粋)

2Dリアルタイムストラテジー

2Dトップビューアドベンチャー(宴アセット使用)

3Dタップアクション(NavMeshAgent 使用)

2Dトップビューアクション(カエルの為に〜、ボコスカウォーズ風)

VideoPlayer イベント連動の実装例

VideoPlayer リスト内からムービー再生の実装例(発展)

AR 画像付きオブジェクト生成の実装例

AR リスト内から生成の実装例(発展)

private



このサイト内の作品はユニティちゃんライセンス条項の元に提供されています。

管理人/副管理人のみ編集できます