-
Автор темы
- #1
C#:
[SerializeField] private Transform target;
[SerializeField] GameObject[] _enemy;
private int targetId;
void Update()
{
if (Input.GetKeyUp("e"))
{
ChangeTarget();
}
float distance = Vector3.Distance(transform.position, target.position);
if (distance <= 10) // дистанция обнаружения
{
var dir = target.position - transform.position;
var euler = transform.eulerAngles;
euler.z = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
transform.eulerAngles = euler;
euler.z = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg - 90.0f;
}
}
public void ChangeTarget() // сменить цель наводки
{
_enemy = GameObject.FindGameObjectsWithTag("Enemy");
++targetId;
if (targetId >= _enemy.Length)
{
targetId = 0;
}
target = _enemy[targetId].transform;
}
Последнее редактирование: