Unityに関連する記事です

 タワーディフェンスゲームの多くは、画面内に配置できるキャラの総数に上限値があり、本ゲームも同じ機能を採用しています。

 次のステップとしまして、配置しているキャラの配置解除を任意のタイミングで行える機能を実装します。

 ゲーム内の操作方法としては、配置したキャラをタップすることで、解除有無の選択が行えるポップアップが開いて、そこで解除を選択出来るようにします。
当然ながらこのポップアップが開いている間は、ゲーム内の進行状態を切り替えて、カレンシーの加算処理、敵の生成、敵の移動、キャラの攻撃が制御されるようにします。

 2回の手順に分けて実装を行います。目標は次の動画のような内容になります。


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


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

発展3 −キャラの配置を解除するためのポップアップの作成−
 5.ReturnSelectCharaPopUp ゲームオブジェクトを作成する
 6.ReturnSelectCharaPopUp スクリプトを作成する


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

 ・必要な情報を考えて、自由にポップアップを作成する



5.ReturnSelectCharaPopUp ゲームオブジェクトを作成する

1.設計

 
 ポップアップ用のゲームオブジェクトがありませんので、最初に配置したキャラの配置解除の確認が行えるポップアップ用のゲームオブジェクトを作成します。

 機能としましては、配置を解除するキャラの画像を表示し、解除の選択するボタンと解除せずにポップアップを閉じるボタンを検討します。
それ以外の機能についても、適宜、必要だと思われる情報を考えて、ゲームオブジェクトを作成していきます。


2.ReturnSelectCharaPopUp ゲームオブジェクトを作成する


 それでは Canvas の子オブジェクトとして、ReturnSelectCharaPopUp ゲームオブジェクトを作成してみましょう。
どのような情報が必要になるのかを考えて、ポップアップとして機能を果たすにはどういったゲームオブジェクトが必要になるのか、
レイアウトはどのようにすればいいのか、などをイメージしながら作成してください。

 サンプルとして、ReturnSelectCharaPopUp ゲームオブジェクトの構成とインスペクター画像を提示します。

ヒエラルキー画像



Game ビュー画像



構造



imgBackgorund ゲームオブジェクト

 ここではシンプルに設計し、背景の画像は設定していません。
ゲームの雰囲気や統一感を出すためには、必要に応じてポップアップのフレームとなる画像を設定してください。

インスペクター画像


Sceneビュー画像



txtTile ゲームオブジェクト

 解除を行うかどうかを確認するメッセージを表示するためのゲームオブジェクトです。

インスペクター画像


Sceneビュー画像



btnSubmiReturnChara ゲームオブジェクト

 解除を実行するためのボタンの役割のゲームオブジェクトです。

インスペクター画像


Sceneビュー画像



txtSubmit ゲームオブジェクト

 解除を実行する旨を伝えるメッセージの役割のゲームオブジェクトです。

インスペクター画像


Sceneビュー画像



btnClosePopUp ゲームオブジェクト

 配置の解除は行わずに、ポップアップを閉じるボタンのゲームオブジェクトです。

インスペクター画像


Sceneビュー画像



txtClose ゲームオブジェクト

 解除を行わずにポップアップを閉じるメッセージを表示するためのゲームオブジェクトです。

インスペクター画像


Sceneビュー画像



6.ReturnSelectCharaPopUp スクリプトを作成する

1.設計


 作成したポップアップの制御を行いたいので、ポップアップ用のスクリプトを作成し、
選択したキャラの情報伝達や、ボタンなどの制御を行えるようにします。

 このポップアップですが、キャラをタップした際に、CharaController スクリプトから生成される流れで設計しています。

 そのため、ポップアップ自体はプレファブとして管理されており、配置しているキャラをタップするたびに
新しいポップアップが生成されるというロジックになります。

 いままでに作成したポップアップなども参考にしながら、どのようなロジックを組んでいけばいいかを考えてみましょう。


2.ReturnSelectCharaPopUp スクリプトを作成する


 どのような変数を用意すればボタンなどの制御が行えるようになるかを検討してみてください。
また、どのような機能を持つメソッドがあればポップアップとして機能するようになるかを考えてみてください。
 
 CharaController スクリプトから生成されますので、Start メソッドよりは、CharaController スクリプトから実行される public 修飾子のメソッドを準備しておいた方が
必要になる情報をメソッドの引数経由で受け取ることが可能です。 

 必要な情報は何なのか、それを取得するにはどのような方法があるのか、といった部分も一緒に考えてみましょう。

 例えば、キャラの配置を解除する、ということは、ゲーム画面においてはキャラを破壊するという処理になります。
よって、少なくとも CharaController の情報を他のスクリプトへ渡すことが出来なければ、特定のキャラを指定して破壊することは難しいでしょう。
GameManager スクリプト内には CharaController を List で管理している変数もありますので、こちらの List からも削除しないとなりません。

 そのためにはこのスクリプト内で、一連の処理を行うために準備しておくべきものは何かを考えてみるといいでしょう。


ReturnSelectCharaPopUp.cs

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


 スクリプトを作成したらセーブを行います。


3.ReturnSelectCharaPopUp ゲームオブジェクトに ReturnSelectCharaPopUp スクリプトをアタッチし、設定を行う


 ヒエラルキーにある ReturnSelectCharaPopUp ゲームオブジェクトに ReturnSelectCharaPopUp スクリプトをドラッグアンドドロップしてアタッチします。
インスペクターを確認して、必要な情報をアサインしていきましょう。


インスペクター画像



 以上で設定は完了です。これでポップアップ用のゲームオブジェクトが完成しました。


4.ReturnSelectCharaPopUp ゲームオブジェクトをプレファブにする


 ポップアップ用のゲームオブジェクトをプレファブにして、インスタンスできるようにします。

 ReturnSelectCharaPopUp ゲームオブジェクトを Prefabs フォルダへドラッグアンドドロップしてプレファブにしてください。
プレファブにしたら、ヒエラルキーにある ReturnSelectCharaPopUp ゲームオブジェクトは削除してください。



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

 次は 発展4 −配置したキャラの解除機能を実装する− です。

コメントをかく


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

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

Menu



プログラムの基礎学習

コード練習

技術/知識(実装例)

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

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

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

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

レースゲーム(抜粋)

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

3D脱出ゲーム(抜粋)

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

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

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

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

3Dトップビューアクション(白猫風)

VideoPlayer イベント連動の実装例

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

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

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

private



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

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