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).
Aufgabe
MittelGib PlaceLamp einen Parameter, damit jede Lampe an ihrem eigenen Platz steht.
- Ändere die erste Zeile der Methode zu
void PlaceLamp(float x)und ihre Position zunew Vector3(x, 1, 0). - Ändere in
Start()die Aufrufe zuPlaceLamp(-3);,PlaceLamp(0);undPlaceLamp(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
1C#-Grundlagen in Unity
Hallo, UnityVariablenDezimalzahlen brauchen ein fText in der KonsoleVariablen, die sich etwas merkenIf und ElseZahlen vergleichenRückblick: Münzsammler7Schleifen und Methoden
Wiederholen mit forSchleifen in SchleifenEine Methode schreibenMethoden mit RückgabewertArraysRückblick: Treppe10Dinge finden
Nach Namen suchenTagsNach Typ suchenReferenzen schlagen SuchenUnitys NullRückblick: nächste Münze13Projekt: Weiche den Blöcken aus
Der LäuferBlöcke vom Himmel2Bring es in Bewegung
Platziere den WürfelBewege ihn in jedem FrameDrehe ihn jede SekundeSteuere mit den TastenRückblick: Fahre den Würfel5Vektoren
Vektoren addierenRichtungenLokaler und globaler RaumDiagonale GeschwindigkeitAbstand zwischen ObjektenVector3 ist eine StrukturRückblick: Drohnenpilot8GameObjects und Komponenten
Referenzen im InspectorEine Komponente abrufenFehlende KomponentenEine Komponente hinzufügenRequireComponentEin- und AusblendenRückblick: Lichtschalter11Prefabs und Erzeugen von Instanzen
Prefabs und InstantiateNach Zeitintervall erzeugenIn einem Raster erzeugenListen von ObjektenDas Neueste zurücknehmenZerstörenZufälliges ErzeugenRückblick: Feuerwerk14Abschließende Herausforderungen
MünzmagnetDie Straße überquerenStraßenverkehrTurmbauerLanden oder verfehlen3Der Inspector
Inspector-FelderSerializeFieldFließkommazahlen und MathfInspector-AttributeRückblick: Aufzug6Transformationen und Hierarchie
Eltern und KinderHisse die FlaggeSkalierungDinge anschauenAuf einen Punkt zubewegenRückblick: Mond in Umlaufbahn9Projekt: Fang den Stern
Der FängerEin fallender Stern12Der Lebenszyklus eines Skripts
Awake und StartUpdate und LateUpdateOnEnable und OnDisableDie Reihenfolge im LebenszyklusRückblick: Lifecycle LoggerÜbe selbstständig: Unity-Playground