Menu
CoddyTech

Inspector-Felder

Teil des Abschnitts Grundlagen des Scripting in Unity der Unity-Journey von Coddy. Lektion 7 von 67.

Ein public-Feld eines Skripts erscheint im Inspector unter dem Namen des Skripts. Dort kann jeder, der die Szene erstellt, den Wert ändern, ohne den Code anzufassen. So lässt ein und dasselbe Spinner-Skript einen Ventilator schnell und eine Windmühle langsam drehen: derselbe Code, aber eine andere Zahl für jedes Objekt.

Die Zahl im Code ist nur der Anfangswert, den Unity verwendet, wenn das Skript zum ersten Mal hinzugefügt wird. Danach gilt der in der Szene gespeicherte Wert. Hier steht im Code 3, aber im Inspector dieser Rakete steht 8, also steigt die Rakete mit 8 Einheiten pro Sekunde auf:

public float speed = 3f;   // Der Inspector zeigt bei dieser Rakete 8 an

void Update()
{
    transform.position += new Vector3(0, speed * Time.deltaTime, 0);
}

Wenn du = 3f im Code änderst, ändert das nichts an einer Rakete, die sich bereits in der Szene befindet. Das führt die meisten Unity-Anfänger mindestens einmal in die Irre: Wenn eine Zahl scheinbar ignoriert wird, sieh im Inspector nach. Wähle ein Objekt in der Hierarchy aus, um seine Felder zu sehen.

challenge icon

Aufgabe

Einfach

Im Inspector des Aufzugs ist lift auf 6 gesetzt, aber das Skript ignoriert das Feld und fährt immer mit 2 Einheiten pro Sekunde nach oben. Ändere Update(), damit der Aufzug mit lift Einheiten pro Sekunde nach oben fährt, unabhängig davon, was im Inspector steht.

Wähle den Elevator in der Hierarchy aus, um seinen Wert für lift zu sehen, und klicke dann auf Play und Check.

Probier es selbst

using UnityEngine;

public class Elevator : MonoBehaviour
{
    public float lift = 2f;

    void Update()
    {
        transform.position += new Vector3(0, 2 * Time.deltaTime, 0);
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen des Scripting in Unity