Scrivere un metodo
Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 39 di 85.
Da un po' di tempo richiami metodi: Debug.Log, PlaceCrate, e Unity richiama i tuoi Start() e Update(). Scrivere i tuoi metodi funziona allo stesso modo:
void Shout(string word)
{
Debug.Log(word + "!");
}void indica che il metodo svolge un compito e non restituisce nulla. Shout è il suo nome. Tra le parentesi ci sono i suoi parametri: variabili a cui chi richiama il metodo assegna un valore. Shout("Hello"); esegue il metodo con word che contiene "Hello", e Shout("Run"); lo esegue di nuovo con "Run".
Un metodo senza parametri ha comunque bisogno delle parentesi vuote: void Jump(), richiamato come Jump();. Un metodo può accettare diversi parametri, separati da virgole: void PlaceTile(int column, int row).
Sfida
MedioAssegna a PlaceLamp un parametro affinché ogni lampada si trovi al proprio posto.
- Modifica la prima riga del metodo in
void PlaceLamp(float x)e la sua posizione innew Vector3(x, 1, 0). - In
Start(), modifica le chiamate inPlaceLamp(-3);,PlaceLamp(0);ePlaceLamp(3);.
Premi «Gioca»: tre lampade si dispongono in fila, a 3 unità di distanza. Poi premi «Verifica».
Provalo tu
using UnityEngine;
public class LampRow : MonoBehaviour
{
void Start()
{
PlaceLamp();
PlaceLamp();
PlaceLamp();
}
void PlaceLamp()
{
GameObject lamp = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
lamp.name = "Lamp";
lamp.transform.position = new Vector3(0, 1, 0);
lamp.transform.localScale = new Vector3(0.3f, 1, 0.3f);
lamp.GetComponent<Renderer>().material.color = new Color(0.3f, 0.3f, 0.35f);
}
}
Tutte le lezioni di Fondamenti di scripting in Unity
1Nozioni di base di C# in Unity
Ciao, UnityVariabiliI numeri decimali richiedono una fTesto nella ConsoleVariabili che ricordanoIf ed ElseConfrontare i numeriRipasso: il collezionista di monete7Cicli e metodi
Ripeti con forCicli annidatiScrivere un metodoMetodi che restituiscono valoriArrayRiepilogo: scala10Trovare gli oggetti
Trovare per nomeTagTrovare per tipoI riferimenti battono la ricercaIl null di UnityRipasso: la moneta più vicina13Progetto: Schiva i blocchi
Il corridoreBlocchi dal cielo2Fallo muovere
Posiziona il cuboMuovilo a ogni frameRuotalo ogni secondoGuidalo con i tastiRiepilogo: guida il cubo5Vettori
Somma di vettoriDirezioniSpazio locale e spazio mondoVelocità diagonaleDistanza tra gli oggettiVector3 è una structRiepilogo: pilota di droni8GameObject e componenti
Riferimenti nell'InspectorOttenere un componenteComponenti mancantiAggiungere un componenteRequireComponentMostrare e nascondereRiepilogo: interruttore della luce3L’Inspector
Campi dell’InspectorSerializeFieldNumeri decimali e MathfAttributi dell’InspectorRiepilogo: ascensore6Trasformazioni e gerarchia
Genitori e figliIssare la bandieraScalaOsservare gli oggettiMuoversi verso un puntoRiepilogo: Luna in orbita9Progetto: Acchiappa la stella
Il raccoglitoreUna stella cadente12Il ciclo di vita dello script
Awake e StartUpdate e LateUpdateOnEnable e OnDisableL'ordine del ciclo di vitaRiepilogo: Lifecycle LoggerEsercitati da solo: Playground Unity