FindGameObjectsWithTag()は、Enemyのタグが付いているGameObjectを複数返すので、
結果は配列変数で受ける
配列変数を回して、自分との距離を調べて、範囲内でかつ一番近いものを求める
ループが終了時に求まっている最短距離の敵に対して、攻撃するなどのアクションを行う
GameObject nearestEnemy=null;
float minDis=1000f;
GameObject[] enemys = GameObject.FindGameObjectsWithTag("Enemy");
foreach(GameObject enemy in enemys)
{
float dis = Vector3.Distance( transform.position,enemy.transform.position);
if( dis<=Range && dis<minDis && enemy.GetComponent<Enemy>().hp>0 )
{
minDis=dis;
nearestEnemy=enemy;
}
}
if( nearestEnemy!=null && canon )
{
}
最終更新:2015年05月24日 17:02