QNA > C > Come Istanziare E Distruggere Un Oggetto Di Gioco In Unity

Come istanziare e distruggere un oggetto di gioco in Unity

Ci sono due funzioni in-built per questo in Unity, per istanziare c'è una funzione chiamata Instantiate, che fondamentalmente ha tre parametri (almeno, ignorando altri overloads se ce ne sono): Oggetto di gioco da spawnare, Vector3 che definisce dove spawnare l'oggetto (nello spazio del mondo), e la rotazione dell'oggetto quando viene spawnato (spazio del mondo). Il codice va più o meno così, diciamo che vogliamo generare un oggetto di gioco all'inizio del gioco

GameObject objectToSpawn;

void Start()
{

Instantiate(objectToSpawn, Vector3.zero, Quaternion.identity);
}

Qui Vector3.Zero è un collegamento per un Vector3 con valori (0f, 0f, 0f). Quaternion.identity è lo stesso ma per la rotazione, un Quaternion che dice (0f, 0f, 0f, 0f)

Questo significa fondamentalmente che quando il gioco parte (e l'oggetto su cui lo script è seduto è attivo), spawnerà il gameobject chiamato objectToSpawn (dobbiamo impostarlo su un game object nell'ispettore dell'editor di unity), al centro del mondo, con 0 o rotazione di default.

Destroy ha anche una funzione incorporata, che è davvero semplice da usare. Fondamentalmente prende un oggetto di gioco, e lo distrugge, lo rimuove dalla scena! Diciamo che vogliamo distruggere un oggetto di gioco che abbiamo definito all'inizio del gioco:

GameObject objectToDestroy;

void Start()
{

Destroy(objectToDestroy);
}

Questo funziona nell'istante in cui il gioco inizia, ma se vogliamo un certo ritardo prima di distruggere l'oggetto di gioco, c'è un overload anche per il metodo Destroy, che prende un oggetto di gioco e un float, così non abbiamo bisogno di usare nessun workaround speciale come IEnumerators :

GameObject objectToDestroy;

void Start()
{

Destroy(objectToDestroy, 2f);
}

This will promptly the game object defined, 2 seconds after the game starts.

Hope you found this helpful!

Di Arlon Winfred

Come dire se la mia ciabatta è protetta dalle sovratensioni :: È possibile rispondere a un'email con un messaggio inoltrato in Gmail?
Link utili