Menu
CoddyTech

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).

challenge icon

Sfida

Medio

Assegna a PlaceLamp un parametro affinché ogni lampada si trovi al proprio posto.

  1. Modifica la prima riga del metodo in void PlaceLamp(float x) e la sua posizione in new Vector3(x, 1, 0).
  2. In Start(), modifica le chiamate in PlaceLamp(-3);, PlaceLamp(0); e PlaceLamp(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

Esercitati da solo: Playground Unity