C# Unity UI Unity C#
Početna stranica
Polazna lekcija
Prava pristupa
Time
GameObject
Destroy i SetActive
Mathf
Input
SceneManagement
UI programiranje
Audio source
Vektori
Kvaternion
Transform
Instantiate
RigidBody
OnTrigger
OnCollision
RayCast
PlayerPref

Razlika između Destroy i SetActive

Destroy uništava objekt i oslobađa resurse koje zauzima.

SetActive isključuje i uključuje vidljivost i aktivnost objekta.


Destroy

Destroy je funkcija kojom uništavamo objekt i time oslođamo resurse koje zauzima. Nakon što je objekt uništen nije ga moguće vratiti u scenu.

Koristimo ga tako što unutar Destroy-a stavimo objekt koji želimo uništiti.

U sljedećem primjeru ćemo uništiti objekt1.

Primjer:


public GameObject objekt1;

void Start()
{
    Destroy(objekt1);
}
            

Ako stavimo zarez i neki broj nakon njega taj će se objekt uništiti u zadanom vremenu nakon što je funkcija pokrenuta. Vrijeme je izraženo u sekundama.

Primjer:



public GameObject objekt1;
public GameObject objekt2;
public GameObject objekt3;

void Start()
{
    Destroy(objekt1, 5); //ovaj je objekt uništen nakon 5 sekundi od pokretanja igre
    Destroy(objekt2, 6); //ovaj je objekt uništen nakon 6 sekundi od pokretanja igre
    Destroy(objekt3, 6.5f); //ovaj je objekt uništen nakon 6.5 sekundi od pokretanja igre
}
            


OnDestroy

Metoda OnDestroy poziva se prije nego li je objekt uništen.

U sljedećem primjeru ćemo ispisati da je objekt uništen i navesti naziv tog objekta.

Primjer:


public GameObject objekt1;

void Start()
{
    Destroy(objekt1);
}

void OnDestroy()
{
    Debug.Log("Objekt" + objekt1.name + "je uništen");
}
            


SetActive

SetActive je funkcija uz pomoć koje možemo uključiti i isključiti vidljivost i aktivnost nekog objekta. MeshRenderer isključuje samo vidljivost objekta.

Funkciju SetActive možemo koristiti kako bi naprimjer optimizirali igru na način da isključimo neki objekt kada je previše udaljen od igrača.

U sljedećem primjeru ćemo isključiti te ponovno uključiti objekt1.

Primjer:


public GameObject objekt1;

void Start()
{
    objekt1.SetActive(false); //isključuje objekt
    objekt1.SetActive(true); //uključuje objekt
}
            


OnEnable

OnEnable je metoda koja se poziva kada je neki objekt aktiviran.

U sljedećem primjeru pozivamo metodu OnEnable kada uključimo objekt1.

Primjer:


public GameObject objekt1;

void Start()
{
    objekt1.SetActive(true);
}

void OnEnable()
{
    Debug.Log("Objekt" + objekt1.name + "je uključen.");
}
            


OnDisable

OnDisable je metoda koja se poziva kada je neki objekt isključen.

U sljedećem primjeru pozivamo metodu OnDisable kada isključimo objekt1.

Primjer:


public GameObject objekt1;

void Start()
{
    objekt1.SetActive(false);
}

void OnDisable()
{
    Debug.Log("Objekt" + objekt1.name + "je isključen.");
}
            

Prijašnje

Sljedeće