Menu
CoddyTech

Eine Methode schreiben

Teil des Abschnitts Unity-Scripting: Grundlagen der Unity-Journey von Coddy. Lektion 39 von 85.

Du rufst schon seit einer Weile Methoden auf: Debug.Log, PlaceCrate, und Unity ruft deine Start()- und Update()-Methoden auf. Eigene Methoden zu schreiben funktioniert genauso:

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

void bedeutet, dass die Methode eine Aufgabe erledigt und nichts zurückgibt. Shout ist ihr Name. In den Klammern stehen ihre Parameter: Variablen, die der Aufrufer mit Werten füllt. Shout("Hello"); führt die Methode aus, wobei word den Wert "Hello" enthält, und Shout("Run"); führt sie erneut mit "Run" aus.

Eine Methode ohne Parameter braucht trotzdem leere Klammern: void Jump(), aufgerufen als Jump();. Eine Methode kann mehrere Parameter entgegennehmen, die durch Kommas getrennt sind: void PlaceTile(int column, int row).

challenge icon

Aufgabe

Mittel

Gib PlaceLamp einen Parameter, damit jede Lampe an ihrem eigenen Platz steht.

  1. Ändere die erste Zeile der Methode zu void PlaceLamp(float x) und ihre Position zu new Vector3(x, 1, 0).
  2. Ändere in Start() die Aufrufe zu PlaceLamp(-3);, PlaceLamp(0); und PlaceLamp(3);.

Drücke auf „Spielen“: Drei Lampen stehen in einer Reihe, mit einem Abstand von 3. Drücke anschließend auf „Prüfen“.

Probier es selbst

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

Alle Lektionen in Unity-Scripting: Grundlagen

Übe selbstständig: Unity-Playground