Unityに関連する記事です

 前回の手順でカレンシーの要素を実装しましたので、この値を利用し、キャラを配置するためのコストとコストの支払い機能の実装を行います。
CharaData クラスには cost 変数がすでに用意してありますので、カレンシーの値からこの値をコストとして消費できるようにしていきます。


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


 合わせて、配置するキャラの選択するポップアップが開いている際には、カレンシーの時間の計測処理を停止していますので、
キャラの配置有無にかかわらず、キャラ配置用のポップアップを閉じた際には、再度、カレンシーの加算処理を再開する処理を実装する必要があります。
そうしないと、ポップアップを開いたあとは一切カレンシーの加算が止まってしまい、ゲームとして成り立たなくなるためです。


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


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

手順28 ーカレンシーを活用したコスト支払い機能の実装ー
47.複数のスクリプトを修正して、コストの支払い機能とカレンシーの再加算機能を実装する



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

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



47.複数のスクリプトを修正して、コストの支払い機能とカレンシーの再加算機能を実装する

1.設計


 キャラ配置用のポップアップを開くと、ステートが Play から切り替わるため、カレンシーの加算処理が停止します。
まずはこの部分を確認しておきます。現在はこのあと、再度カレンシーの加算を開始する処理がないため、キャラ配置用のポップアップを閉じたとしても
カレンシーの加算が再開されません。この部分は修正が必要になります。

 配置用のキャラポップアップでキャラを選択すると、そのまま配置が出来てしまうためポップアップが表示されるタイミングに合わせて
カレンシーの現在値と各キャラのコストの値を比べて、コストの値を上回っているキャラだけを選択できるように修正します。

 ポップアップが表示されるタイミングで毎回チェックをするようにすることで、カレンシーの値の変化があった場合に、
配置できるキャラと配置できないキャラとを区別出来るようにします。このチェックがないと、カレンシーの値が増減した場合に、キャラの選択可否が更新されません。


2.GameData スクリプトを修正する


GameData.cs

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


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


3.GameManager スクリプトを修正する


 配置されたキャラの情報を List で管理できるようにするための処理を追加します。
こちらは CharaGenerator スクリプトの処理と連動しているために実装していますが、実際には次の手順で利用するために準備しています。


GameManager.cs


 スクリプトを修正したらセーブをします。


3.CharaGenerator スクリプトを修正する


 TODO で記述している部分を4箇所実装していきます。

 カレンシーを再度加算させる処理を追加したり、キャラを生成したタイミングで GameManager スクリプトに用意した List への追加処理を実装しています。


CharaGenerator.cs

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


 スクリプトを修正したらセーブします。


4.SelectCharaDetail スクリプトを修正する


 TODO の部分を3箇所実装し、新しくメソッドを4つ追加します。


SelectCharaDetail.cs


 スクリプトを修正したらセーブします。



5.PlacementCharaSelectPopUp スクリプトを修正する


 新しくメソッドを1つ追加するとともに、TODO で記述している部分を3箇所実装していきます。
ポップアップが表示されるたびに各キャラのボタン(SelectCharaDetail スクリプト)にコストの支払い可否のチェックを行わせています。


PlacementCharaSelectPopUp.cs


 スクリプトを修正したらセーブします。


6.ゲームを実行して動作を確認する


 キャラを配置するためのポップアップを開いてください。カレンシーの加算が一時停止します。
その後、キャラを配置せずに、そのままポップアップを閉じてください。再度、時間の計測が開始されて、カレンシーの加算が実行されれば制御成功です。


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



 ポップアップを開いた際には、カレンシーの値と、配置できるキャラのコストとが比較されて、コストの値がカレンシーの値以下である、
コストの支払いが可能なキャラのみ選択できるようになっていれば制御成功です。

 これはポップアップを開くたびに更新されるようになっていますので、カレンシーの値が更新されたら、すべてのキャラが配置に可能になるかを確認してください。

 配置可能なキャラを選択して配置を実行すると、カレンシーの値がそのキャラのコスト分だけ減算されます。
画面のカレンシーの値が更新されているかも確認してください。


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


 カレンシーの値が減算されたあとにポップアップを開いたとき、コストの値に応じて、配置できるキャラと配置できないキャラがいる場合には、
それが更新されていれば制御成功です。もしもカレンシーの値がコスト未満であるのにキャラを選択出来る場合には、コストのチェック部分を見直してください。


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



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

 次は 手順29 −ゲームの進行状態を活用した配置キャラの制御機能の実装− です。

コメントをかく


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

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

Menu



プログラムの基礎学習

コード練習

技術/知識(実装例)

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

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

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

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

レースゲーム(抜粋)

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

3D脱出ゲーム(抜粋)

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

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

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

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

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

VideoPlayer イベント連動の実装例

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

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

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

private



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

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