Ich habe ein Prefab erstellt und in ein Skript instanziiert, das wie unten beschrieben an ein anderes Spielobjekt angehängt wurde.So finden Sie den Index eines kollidierenden Spielobjekts in OnCollisionEnter2D()
void Start() {
badGuys= new List<GameObject>();
int numberOfBadGuys = 6;
Camera camera = GameObject.FindGameObjectWithTag ("MainCamera").GetComponent<Camera>();
for (int i = 1; i < numberOfBadGuys + 1; i++) {
GameObject badGuyObject = (GameObject)Instantiate(badGuy, new Vector3(Screen.width*i/2, Screen.height*i/6, camera.nearClipPlane), Quaternion.identity);
badGuys.Add(badGuyObject);
}
}
Da alle der instanziiert Objekte im Array den gleichen Tag und Spiel zum Gegenstand haben, wie kann ich den Index des kollidierenden Objekts im Array finden?
void OnCollisionEnter2D(Collision2D col) {
Debug.Log("collision has began");
if (col.gameObject.tag == "badGuy") {
// how can I tell the index of colliding game object in badGuys array
}
}
Erkennen Sie die Kollision in demselben Skript, das das Array von Badguys enthält? – Agustin0987
Ja, sie beide im selben Skript – Nullititiousness