我试图让我的玩家面对基于巫师敌人最不同的敌人。我正在尝试使用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