배열의 모든 객체를 호출 할 수 있습니까? 아니면 번호 만 사용하고 있습니까?다른 태그를보고 자신의 태그가 아닌 것을 확인하십시오
public void Update()
{
Targetting ge = (Targetting)target.GetComponent("Targetting");
enemies = ge.targets;
float attackDistanceP = Vector3.Distance(target.transform.position, transform.position);
foreach (Transform enemy in enemies)
{
float enemyDistance = Vector3.Distance(enemy.transform.position, transform.position);
print(enemyDistance);
}
Debug.DrawLine(transform.position, waypointPosition, Color.black);
if (attackDistanceP < 8)
disableNow = true;
if (attackDistanceP > 8)
disableNow = false;
}
enemies [] 배열에있는 모든 객체를 호출하고 싶습니다. 그래서 모든 적들은 서로를 볼 수 있습니다. 그러나 나는 그들 스스로를보고 싶지 않습니다. 게임 객체 .FindGameObjectsWithTag를 사용하여 다른 스크립트의 배열을 채우십시오.
using System.Collections.Generic;
public Transform trans;
Targetting ge;
void Start() {
trans = transform;
ge = target.GetComponent<Targetting>();
}
void Update() {
enemies = ge.targets;
float attackDistanceP = (target.trans.position - trans.position).sqrMagnitude; // save a square root
foreach(Transform enemy in enemies){
if (enemy == trans) continue; // skip me
float enemyDistance = (enemy.trans.position - trans.position).sqrMagnitude; // save a square root
print(enemyDistance);
}
Debug.DrawLine (trans.position, waypointPosition, Color.black);
if(attackDistanceP < 64)
disableNow = true;
if(attackDistanceP > 64)
disableNow = false;
}
당신이 태그에 저장하는 것이 무엇인가 – Pieter888
리스트 적을 사용하고 있습니다. –
Amacoder
전체 컨텍스트 또는 코드 조각을 제공하지 않으므로 문제의 상황을 완전히 이해하지 못하고 있지만 적 ID 또는 다른 고유 식별자가 어떻게 든 자기 자신과 같은지 확인해 볼 수 있습니다. 적 [] 안에있는 사물들. 너를 조금 도와줬으면 좋겠다. – Pieter888