私は、魔女の敵に基づいて異なる敵に顔を当てようとしています。私はtransform.lookAtとVector3.Distanceを使って最も近い敵と対峙しようとしています。私はそれを動作させることができますが、私のプレイヤーが実行する最初の敵に対してのみ行います。同じタグを使ってプレイヤーに異なる敵を対面させる
私は敵のGameObjetsのリストを作成しました。そして、それらを巡回して、最も近い敵とその位置を見つけます。
これは私がこれまでに得たものです。
バール:
public List<GameObject> targets;
private GameObject[] enemyList;
Roatation:
void rotateToEnemy() {
//check if spawnEnemyes is close
foreach (GameObject target in targets) {
//transform.LookAt (target.transform.position);
if (target != null) {
float enemyDistance = Vector3.Distance (target.transform.position, transform.position);
if (enemyDistance <= 5.0f) {
transform.LookAt (target.transform.position);
Debug.Log (enemyDistance);
}
}
}
}
リストにEnemisを追加します:あなたのコードの現在のバージョンで
void addEnemiesToList() {
//Make enemy list
GameObject[] enemyList = GameObject.FindGameObjectsWithTag("skeletonEnemy");
// Add enem,is to array
foreach(GameObject enemy in enemyList) {
targets.Add (enemy);
}
}
ありがとうございます!魅力のように働く! 私はちょうどそれが5単位以内にあった場合、それは最も近い敵をターゲットにするためにいくつかの変更を行った、私も敵が死亡し、ランダムな場所に生まれ変わるので、リストにいくつかの更新を行いました。 フィードバックありがとうございました:) – Jsf