Menu
CoddyTech

Napisz metodę

Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 39 z 85.

Od jakiegoś czasu wywołujesz metody: Debug.Log, PlaceCrate, a Unity wywołuje Twoje Start() i Update(). Pisanie własnych działa tak samo:

void Shout(string word)
{
    Debug.Log(word + "!");
}

void oznacza, że metoda wykonuje zadanie i niczego nie zwraca. Shout to jej nazwa. W nawiasach znajdują się jej parametry: zmienne, którym wartości przypisuje wywołujący. Shout("Hello"); uruchamia metodę, a zmienna word przechowuje "Hello". Shout("Run"); uruchamia ją ponownie z wartością "Run".

Metoda bez parametrów nadal wymaga pustych nawiasów: void Jump(), wywoływana jako Jump();. Metoda może przyjmować kilka parametrów, oddzielonych przecinkami: void PlaceTile(int column, int row).

challenge icon

Wyzwanie

Średni

Dodaj parametr do PlaceLamp, aby każda lampa stała w swoim własnym miejscu.

  1. Zmień pierwszy wiersz metody na void PlaceLamp(float x), a jej pozycję na new Vector3(x, 1, 0).
  2. W Start() zmień wywołania na PlaceLamp(-3);, PlaceLamp(0); i PlaceLamp(3);.

Naciśnij „Graj”: trzy lampy stoją w rzędzie, w odstępach co 3. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

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);
    }
}

Wszystkie lekcje w sekcji Podstawy skryptów w Unity

Poćwicz samodzielnie: Edytor online Unity