・ここでは「回復アイテムを取得すると自分で決めた分だけHPが回復する」という仕組みを作ります。
1)HP回復アイテムのオブジェクトの作成
・まずは、回復アイテムの「オブジェクト」を作成しましょう。
・自分の好きなもので構いません。
・名前は「CureItem」にしておきましょう。
2)スクリプトの作成
・「TankHealth」スクリプトにコードを追加しましょう。
「プレーヤーのHPを増加させるメソッド」を自分で考えて書いてみてください。
(ヒント)「テキスト(11)砲弾数が回復するアイテムの作成」
*テキスト(11)の中に「★<追加>砲弾数を増加させるメソッド」のコードがあります。そのコードを参考にして自分で考えてみましょう。
・上記ができたら「新たにC#スクリプトを1つ作成」してください。
・名前は「CureItem」にしておきます。
・その中に下記内容のコードを書きましょう。
*「もしも、”Player”という名前のタグを持っているオブジェクトとぶつかったら、
①プレーヤーのHPを増加させるメソッドを呼び出す。
②回復アイテムを破壊(削除)する。」
using UnityEngine; using System.Collections; public class CureItem : MonoBehaviour { // 「Tank」オブジェクトの情報を入れるための箱を作る。 private GameObject tank; // 回復数の情報を入れるための箱を作る。 public int reward; public AudioClip cureItemGet; public GameObject getEffect; void OnTriggerEnter(Collider other){ if(other.CompareTag("Player")){ AudioSource.PlayClipAtPoint(cureItemGet, transform.position); GameObject effect = Instantiate(getEffect, transform.position, Quaternion.identity) as GameObject; Destroy(effect, 1); // 箱の中に「Tank」オブジェクトの情報を入れる tank = GameObject.Find("Tank"); // Tankオブジェクトについている「Tank Health」スクリプトの情報を「th」という名前の箱の中に入れる TankHealth th = tank.GetComponent<TankHealth>(); // 「TankHealth」クラスの中にある「AddHP()」メソッドを呼び出す。 th.AddHP(reward); // アイテムを画面から削除する Destroy(gameObject); } } }
・コードが書けたらいつもようにチェック。
・チェックが完了したら「CureItem」スクリプトを「CureItem」オブジェクトにドラッグ&ドロップしましょう。
・「Reward」には自分の好きな数字を入れましょう。(ここに入れた数字がHPの回復数になります。)
・「Cure Item Get」には好きな「効果音」を、「Get Effect」には好きな「エフェクト」を設定しましょう。
ここまでできたら「再生ボタン」を押してみましょう。
・回復アイテムをゲットしたとき、音とエフェクトが出て、かつプレーヤーのHPが増えたら成功です。