Manuál: https://docs.unity3d.com/Manual/class-MonoBehaviour.html
Reference: https://docs.unity3d.com/ScriptReference/MonoBehaviour.html
MonoBehaviour je základní třída Unity, kterou můžeme připojovat na GameObjecty na scéně jako komponenty Script.
Pokud ze scény odstraníme objekt, na který je připojená, odstraníme také instanci této třídy.
Speciální funkce MonoBehaviour:
- Životní cyklus skriptu:
- Awake()
Spouští se pouze jednou při inicializaci skriptu nebo při jeho aktivaci. Vhodné pro nastavení inicializačních hodnot. - Start()
Volá se jednou při spuštění skriptu, obvykle hned po metodě Awake. Používá se pro logiku, která potřebuje, aby všechny objekty ve scéně byly připraveny. - Update()
Spouští se každý snímek. Vhodné pro logiku, která se mění v čase (např. pohyb objektů). - FixedUpdate()
Volá se v pevně stanovených časových intervalech, což je ideální pro práci s fyzikou. - LateUpdate()
Spouští se každý snímek po všech voláních Update(). Používá se například pro kameru sledující objekt.
- Awake()
- Aktivace a deaktivace:
- OnEnable()
Volá se při aktivaci GameObjectu nebo komponenty. - OnDisable()
Volá se při deaktivaci GameObjectu nebo komponenty.
- OnEnable()
Zprávy
MonoBehaviour může reagovat na specifické události, známé jako zprávy. Tyto zprávy jsou automaticky volány Unity při nastání určitých událostí.
- OnCollisionEnter(Collision collision)
Spouští se, kdyžcollider
neborigidbody
začne kolidovat s jinýmcollider
/rigidbody
. - OnCollisionExit(Collision collision)
Volá se při ukončení kolize. - OnTriggerEnter(Collider other)
Spouští se, když objekt vstoupí do triggeru (collider s aktivním „Is Trigger“). - OnTriggerExit(Collider other)
Spouští se, když objekt opustí trigger.
Interakce s myší
- OnMouseDown()
Volá se při stisknutí tlačítka myši nadcolliderem
. - OnMouseDrag()
Spouští se při držení tlačítka myši nadcolliderem
a pohybu myší. - OnMouseEnter()
Volá se, když myš přejede nadcolliderem
. - OnMouseExit()
Spouští se, když myš opustí oblastcollideru
. - OnMouseOver()
Volá se každým snímkem, pokud je myš nadcolliderem
. - OnMouseUp()
Spouští se při uvolnění tlačítka myši nadcolliderem
.
Metody
- Destroy
odstraní game object, komponentu, nebo assetDestroy(gameObject);
Odstraní celý objektDestroy(this);
Odstraní aktuální komponentu - GetComponent
Najde komponentu daného typu připojenou k aktuálnímu GameObjectu.Rigidbody rb = GetComponent();
- CompareTag
Porovná tag GameObjectu s určeným textem.if (CompareTag("Player")) {
// Logika pro objekt s tagem "Player"
} - Instantiate
Vytvoří kopii objektu.GameObject clone = Instantiate(originalObject);
- Invoke
Zavolá metodu po dané prodlevě.Invoke("MyMethod", 2.0f); // Volá MyMethod po 2 sekundách
- InvokeRepeating
Opakovaně volá metodu po dané prodlevě.InvokeRepeating("RepeatMethod", 1.0f, 0.5f); // Volá RepeatMethod každých 0.5 sekund
- CancelInvoke
Zruší všechny naplánované volání metod pomocí Invoke nebo InvokeRepeating.