Показать сообщение отдельно
Старый 10.07.2011, 17:29   #1
Fockerian
Оператор ЭВМ
 
Регистрация: 10.07.2011
Сообщений: 30
Написано одно полезное сообщение
Поиск ближайшего объекта по тэгу. Вопрос.

Нужна помощь.



using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
GameObject FindClosestEnemy() {
GameObject[] gos;
gos = GameObject.FindGameObjectsWithTag("Enemy");
GameObject closest;
float distance = Mathf.Infinity;
Vector3 position = transform.position;
foreach (GameObject go in gos) {
Vector3 diff = go.transform.position - position;
float curDistance = diff.sqrMagnitude;
if (curDistance < distance) {
closest = go;
distance = curDistance;
}
}
return closest;
}
void Awake() {
print(FindClosestEnemy().name);
}
}
Вот есть несколько объектов с тэгов врага, необходимо найти из этих объектов самый ближайший. На юнити.ком нашел в скриптах пример который помойму мне и нужен ( он как раз выше ) , но загрузив его себе юнитти стала ругаться. Ругается на return closest; ... Вот я не могу исправить и понять почему ругается. Если выносить GameObject closest за пределы GameObject FindClosestEnemy() { ...} юнити не ругается но опять же найдя единственный близкий больше не чего не ищет, как бы близко я не перемещался к другим объектам с тэгом враг. Как подлатать скрипт?
(Offline)
 
Ответить с цитированием