La classe MonoBehaviour di Unity

La classe MonoBehaviour è un componente che viene aggiunto agli oggetti di gioco di Unity per assegnargli delle funzionalità e comportamenti specifici.

Ogni volta creiamo un nuovo script in Unity, automaticamente viene creato al suo interno una classe che eredita da MonoBehaviour. In questo modo possiamo concentrarci sul comportamento dell’oggetto o degli oggetti della scena.

Nel momento che un componente viene aggiunto ad un GameObject, gli viene creata automaticamente un’istanza che controlla l’oggetto a cui viene attaccato.

Come aggiungere un componente MonoBehaviour in Unity

Per aggiungere un componente, basta seguire i seguenti passaggi:

  • Crea un oggetto nella scena oppure selezionane uno già esistente;
  • Nell’ispettore, clicca sul pulsante Add Component e scrivi il nome che vuoi dargli; l’editor ti suggerirà di creare uno script con quel nome;
  • Il file verrà creato nella cartella principale degli asset: aprilo facendo doppio clic con il mouse.

Il codice sarà simile a questo:

using UnityEngine;


public class NomeClasse : MonoBehaviour
{
    public void Start()
    {
        //Qui vanno inserite le istruzioni da eseguire appena parte il gioco o viene istanziato il componente
    }

    public void Update()
    {

        //Istruzioni di aggiornamento
    }
}

In Update, puoi aggiungere le istruzioni per spostare, ruotare o fare interagire un oggetto specifico con altri oggetti.

Metodi di MonoBehaviour

I metodi di qualunque componente MonoBehaviour vengono richiamati automaticamente per determinate situazioni. Ogni volta che noi creiamo una nuova classe che eredita da questo componente, stiamo sovrascrivendo quelle funzioni in modo da ottenere il comportamento desiderato.

I metodi principali sono:

  • Start(): viene chiamato una volta quando lo script viene avviato. Viene utilizzato per l’inizializzazione di variabili, impostazioni iniziali e altre operazioni che devono essere eseguite una sola volta all’avvio dello script.
  • Update(): Viene chiamato ad ogni frame del gioco. È utilizzato per aggiornare lo stato dell’oggetto, come il movimento, l’input dell’utente, la logica del gioco e altre operazioni che devono essere eseguite continuamente durante il gioco.
  • FixedUpdate(): Non viene chiamato ad ogni frame, piuttosto ad intervalli regolari sincronizzati con la fisica del gioco.
  • LateUpdate(): Viene richiamato dopo tutti gli altri metodi di aggiornamento. E’ utile quando vogliamo che le variabili del gioco siano state aggiornate come quado la telecamera segue il giocatore.