【发布时间】:2016-07-29 11:46:29
【问题描述】:
我试图让我的玩家面对基于女巫敌人最接近的不同敌人。我正在尝试使用 transform.lookAt 和 Vector3.Distance 面对最近的敌人,我可以让它工作,但仅限于我的玩家遇到的第一个敌人。
我已经列出了敌人的 GameObjets,我正在遍历它们以找到最近的敌人及其位置。
这是我目前得到的。
变量:
public List<GameObject> targets;
private GameObject[] enemyList;
旋转:
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);
}
}
}
}
将敌人添加到列表中:
void addEnemiesToList() {
//Make enemy list
GameObject[] enemyList = GameObject.FindGameObjectsWithTag("skeletonEnemy");
// Add enem,is to array
foreach(GameObject enemy in enemyList) {
targets.Add (enemy);
}
}
【问题讨论】: