我試圖讓我的玩家面對基於巫師敵人最不同的敵人。我正在嘗試使用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