Hallo Ich mache mein erstes Einheitsspiel in 2D und ich habe diesen Code jetzt. Ich habe 3 verschiedene GameObjects (nenne sie a, b, c) in den Array-Pfeilen und ich möchte wissen, welcher von ihnen erzeugt wird (damit ich ihn in einer anderen Funktion benutzen kann) und den vorherigen aus der Szene löschen. Jetzt erscheint nur alle 5 Sekunden ein GameObject auf einem anderen und ich weiß nicht, welcher von beiden zufällig darauf spawnte. Irgendeine Idee?Gelegentliches Laichen in Unity (C#)
public GameObject[] arrows;
public float interval = 5;
// Use this for initialization
void Start()
{
StartCoroutine(SpawnArrow());
}
public IEnumerator SpawnArrow()
{
WaitForSeconds delay = new WaitForSeconds(interval);
while (true)
{
GameObject prefab = arrows[UnityEngine.Random.Range(0, arrows.Length)];
GameObject clone = Instantiate(prefab, new Vector3(0.02F, 2.18F, -1), Quaternion.identity);
yield return delay;
}
}`
Sie verwenden nur das Objekt, das Sie als Parameter erstellt haben. Sie setzen eine 'YourOtherFunction (Klon)' in der While-Schleife. Wenn das nicht das ist, was Sie suchen, müssen Sie genauer angeben, was Sie zu tun versuchen. Nehmen Sie auch die andere Funktion in Ihr Codebeispiel auf. –
Wenn Sie nach Unity fragen, müssen Sie das Tag [tag: Unity3d] auf Ihre Frage setzen. Andernfalls erhalten Sie möglicherweise Antworten, die für Unity nicht geeignet sind. –