Menu
CoddyTech

Inspector-Felder

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

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

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:

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 sich dadurch keine Rakete, die sich bereits in der Szene befindet. Das sorgt bei den meisten Unity-Anfängern mindestens einmal für Verwirrung: 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

Lass den Aufzug mit der Geschwindigkeit steigen, die im Inspector eingestellt ist.

  1. Ersetze in Update() die 2 durch das Feld: lift * Time.deltaTime.
  2. Lass public float lift = 2f; unverändert: Im Inspector wird lift auf 6 gesetzt.

Drücke auf „Spielen“: Der Aufzug steigt 6 Einheiten pro Sekunde. Drücke dann auf „Prüfen“.

Probier es selbst

using UnityEngine;

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

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

Alle Lektionen in Unity-Scripting: Grundlagen

Übe selbstständig: Unity-Playground