・ここでは「回復アイテムを取得すると自分で決めた分だけ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が増えたら成功です。

