(18)敵にHPをつける(エフェクトあり)

今度は敵にヒットポイントをつけてみましょう。

1)「Collider」の設定

・「当たり判定」には「Collider」が必要なので、親オブジェクトであるEnemyAに「Add Component」「Box Collider」を付けましょう。

・忘れないように「Is Trigger」にもチェックを入れておきます。

「Box Collider」は、敵をすっぽり囲むように、「Center(中心)」「Size(大きさ)」を調整してください。

スクリーンショット 2016-07-08 13.53.25

ここまでできたら今度はスクリプトを作成しましょう。

2)スクリプトの作成

「C#スクリプト」を1つ作成してください。

・名前は「EnemyHealth」に変更しましょう。

・下記を参考にコードを記載してください。

using UnityEngine;
using System.Collections;

public class EnemyHealth : MonoBehaviour {

	public GameObject effectPrefab1;
	public GameObject effectPrefab2;
	public int enemyHP;

	public void OnTriggerEnter(Collider other){
		if(other.CompareTag("Shell")){
			enemyHP -= 1;

			Destroy(other.gameObject);

			if(enemyHP > 0){
				GameObject effect1 = Instantiate(effectPrefab1, transform.position, Quaternion.identity) as GameObject;

				Destroy(effect1, 1.0f);
			} else {
				GameObject effect2 = Instantiate(effectPrefab2, transform.position, Quaternion.identity) as GameObject;

				Destroy(effect2, 1.0f);

				Destroy(gameObject);
			}
		}
	}
}

・コードが書けたらチェック。

・チェックが完了したら、「EnemyHealth」スクリプトを「EnemyA(親オブジェクト)」に付けましょう。

スクリーンショット 2016-05-23 22.46.41

*「Effect Prefab1」「Effect Prefab2」(爆発のエフェクト)と「Enemy HP」の項目は自分で好きなように設定してみましょう。

スクリーンショット 2016-05-23 22.48.59

・設定が完了したら「再生ボタン」をクリック。

・プレーヤーの攻撃を受けると爆発のエフェクトが出る。そして、HPが0になったら画面から敵が消えたら成功です。

*複数の敵それぞれについて「エフェクト」と「ヒットポイント」を変えてみましょう。