Come creare il primo script?

unity

#1

Apriamo una scena vuota in Unity. Creiamo un oggetto vuoto (GameObject > Create Empty) a cui attaccheremo lo script. Per creare uno script, è sufficiente cliccare Add Component nell’Inspector dell’oggetto appena creato, poi New Script, dargli un nome e scegliere un linguaggio. Verrà creato un nuovo script con il nome prescelto nella root del progetto.

In alternativa, è possibile creare lo script dal pannello Project mediante il tasto destro e poi Create > C# Script. Così facendo però, lo script verrà creato ma non agganciato all’oggetto in scena, e quindi quando premeremo Play, naturalmente, Unity non lo eseguirà.

Se avete creato lo script dal pannello Project, selezionate l’oggetto in scena e trascinate lo script nell’Inspector. Oppure, nell’Inspector cliccate su Add Component e digitate il nome dello script appena creato.

Come consiglio generale, quando avete creato uno script e alla pressione del tasto Play non succede niente, controllate prima che lo script sia effettivamente attaccato almeno ad un gameObject.

Facciamo doppio click sullo script nell’Inspector o nel Project. Questo aprirà il programma predefinito per editare gli script, che di default è MonoDevelop. Una volta in MonoDevelop, vedremo una classe che sarà più o meno così:

using UnityEngine;
using System.Collections;

public class MyScript : MonoBehaviour {

// Use this for initialization
void Start () { }

// Update is called once per frame
void Update () { }

}
Come è possibile notare, quando si crea uno script Unity crea la struttura della classe, e aggiunge due funzioni predefinite: Start ed Update. Le vedremo in dettaglio più in là, per ora è sufficiente sapere che se attacchiamo questo script ad un oggetto e premiamo Play, Unity eseguirà all’inizio del gioco quello che c’è scritto fra le parentesi graffe del metodo Start.

Modifichiamo lo Start così:

void Start ()
{
Debug.Log("Script attivo sull’oggetto " + gameObject.name);
}
Salviamo lo script, e torniamo a Unity. Unity rileverà la modifica allo script, lo potete notare perché ogni volta che si salva uno script compare una piccola rotellina di caricamento in basso a destra nella finestra principale (sotto l’Inspector). Apriamo il pannello Console (se non è visibile, basta andare su Window > Console o premere Ctrl + Shift + C, e poi premiamo Play.

La console visualizzerà il messaggio “Sono uno script attivo sull’oggetto GameObject” (dove GameObject sarà il nome che avete dato all’oggetto creato prima). Questo perché Unity esegue tutti gli script della scena, e in quello che abbiamo creato noi trova una funzione Start, che come comportamento predefinito viene eseguita all’inizio del ciclo di vita di un oggetto (ovvero, quando abbiamo premuto Play).

Vedremo più in dettaglio nella prossima lezione come funzionano i vari metodi predefiniti di Unity (Start, Update, ecc.), e per cosa usarli.