Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Skripting in Unity Grundkurs

Die For-Schleife

Testen Sie unsere 2013 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Oft müssen gewisse Dinge nacheinander in einer Schleife berechnet werden. Was es damit auf sich hat und wie man das umsetzt, ist Thema dieses Videos.
09:33

Transkript

Schauen wir uns jetzt die sogenannte For-Schleife an. Die For-Schleife ist ein Konstrukt, das durch eine Anzahl von gewissen Dingen durchläuft, und dabei Position für Position für Position beachtet. Stellen Sie sich also eine Einkaufsliste vor, und die For-Schleife würde sich Eintrag 1 anschauen, und damit etwas machen vielleicht, dann Eintrag 2, dann mit Eintrag 1 und 2 etwas machen, das ist quasi Ihnen überlassen. Aber sie würde jeden Eintrag auf Ihrer Einkaufsliste durchlaufen. Schauen wir uns das im Programmcode einmal an. In Unity geöffnet, und dann in Visual Studio bestätigen wir die Warnung, und dann sähe eine For-Schleife folgendermaßen aus: Bevor wir das jetzt durchgehen, starten wir nochmal ganz von Neuem. For-Schleifen werden initialisiert, beziehungsweise nach einem gewissen Rezept aufgeschrieben, daran müssen wir uns halten, das ist aber auch nicht wirklich schwer zu merken, beginnen tut es mit dem Schlüsselwort For. Jetzt sagen wir dem Programm, ab hier beginnt unsere For-Schleife. Dann folgt eine runde Klammer auf, Visual Studio hilft uns da, und macht gleich die runde Klammer zu, danach kommen geschweifte Klammern, das ist der Rumpf der For-Schleife, und jetzt sind wir noch nicht ganz fertig, denn in diese Klammern gehören noch drei wichtige Elemente. Wir haben uns ja gerade das Beispiel mit der Einkaufsliste ins Gedächtnis gerufen. Wir müssen der For-Schleife jetzt sagen, wo sie denn anfangen soll, unsere Einkaufsliste durchzurattern. Bei dem ersten Eintrag, beim letzten Eintrag, irgendwo in der Mitte, wir müssen ihr also einen Startwert mitgeben. Und das tun wir, indem wir eine sogenannte Zählvariable festlegen. Das funktioniert wie das Festlegen jeder anderen Variablen auch. Fangen wir mal mit dem ganz normalen Standardwert an. int i = 0 Und genau diese Schreibweise entspricht auch ungefähr den Konventionen, wenn es um For-Schleifen geht. Diese Zählvariable i ist immer der Standardbuchstabe bei For-Schleifen. Es kann mal sein, dass es j sein muss, es könnte auch x sein, aber die Konvention hat sich nun mal irgendwie auf i geeinigt. Null sagt dabei, "Liebe For-Schleife, beginne bitte bei null zu zählen, denn in der Computertechnik ist es ja so, da zählt man nicht eins, zwei, drei, vier, fünf, sondern null, eins, zwei, drei, vier, und hätte trotzdem fünf Positionen durchlaufen. Danach müssen wir der For-Schleife noch sagen, wo denn Schluss ist, wo sie aufhören soll, das ist die sogenannte Abbruchbedingung. Hier können wir zum Beispiel sagen, i kleiner 10, also tue was auch immer du tust, bitte so lange, wie i kleiner 10 ist. Dann müssen wir noch sagen, was soll mit i passieren, wenn ein Zyklus dieser Schleife durchlaufen wurde. Standardmäßig ist auch hier i++ meistens anzutreffen. Und jetzt wäre unsere For-Schleife komplett. Wir sagen, hier ist die For-Schleife, drei Elemente, wo geht's los? Wo endet es? Was soll mit i passieren, wenn ein Zyklus durchlaufen ist? Und im Rumpf steht dann, was pro Zyklus getan werden soll. Und das kann wiederum alles Mögliche sein, hier können Berechnungen angestellt werden, hier können Sachen einfach nur aufaddiert werden, oder, wie in unserem Fall, zum Beispiel Sachen in die Konsole ausgegeben werden. Und ich werde jetzt hier einfach mal den Wert i in die Konsole schreiben, und wir schauen in Unity mal, was passiert. Hier habe ich unser einfaches Game Objekt LoopExample schon mal vorbereitet, da liegt das Skript ForLoop drauf, und wenn wir in die Konsole schauen, und die Szene starten, sehen wir, ja, alles scheint geklappt zu haben, es wurde bei null begonnen zu zählen, eins, zwei, drei und so weiter bis neun. Der nächste Zyklus der For-Schleife würde ja die 10 bedeuten, und das würde nicht mehr unserer Abbruchbedingung entsprechen, deshalb wird dieser Zyklus abgebrochen, und die For-Schleife wird beendet, wird verlassen. Wenn wir uns diese For-Schleife nochmal in Visual Studio anschauen, dann ist es absolut nicht so, dass sie auf diese einfachen Berechnungen beschränkt ist. Hier könnte zum Beispiel auch Float stehen, und i könnte bei zum Beispiel 5,5 beginnen, und dann bis 1000,2 weiterlaufen. Auch die Erhöhung oder Berechnung von i kann eine völlig andere sein, hier könnte zum Beispiel, mal ganz an den Haaren herbeigezogen, i = 40 mal --- oder nehmen wir mal i * Mathf.cos(40) sein. Hier möchte ich Ihnen nur zeigen, dass das nicht auf einfache Berechnungen beschränkt ist. Wir können auch gerne einmal schauen, was das überhaupt rausgeben würde, in unsere Konsole, wahrscheinlich gar nichts vernünftiges. Unity sagt hier, in diesem Moment schon, das ist mir ein bisschen zu kompliziert. vor allen Dingen, das ist ein gutes Beispiel, dauert das jetzt hier gerade sehr sehr lange. Deshalb, weil das gerade superlange gedauert hat, hab ich das jetzt an dieser Stelle einfach mal abgebrochen, das war aber ein gutes Beispiel, um Ihnen zu zeigen, wie die For-Schleife überhaupt funktioniert. Denn wir sehen, diese For-Schleife versucht zuerst, komplett durchzulaufen, bevor überhaupt irgendetwas anderes passiert. Und da wir hier relativ, ja, sinnfreie Werte eingegeben haben, kommt sie niemals zu irgendeinem Ergebnis, und der Programmablauf ist quasi für immer, oder für sehr sehr lange Zeit blockiert. Normalerweise werden wir ja auch For-Schleifen benutzen und antreffen, die der Einfachheit halber so gehalten sind, denn wir wissen ja, sie soll durch gewisse Dinge durchlaufen, und normalerweise sind Listen, die wir verwenden, oder irgendwelche Aufzählungen nie so lang, dass das lange dauert. Im Gegenteil, For-Schleifen sind sogar sehr schnell, ich werde jetzt hier mal was vorbereiten, und dann schauen wir uns mal an, wie schnell For-Schleifen tatsächlich sind. Hier verwende ich jetzt die sogenannte Stop-Watch, der ich einen Namen gegeben habe, und die ich einfach neu instanziiert habe. Dann starte ich die Stop-Watch, unsere For-Schleife wird ausgeführt, und sobald die fertig ist, wird die Stop-Watch wieder gestoppt, und am Ende ausgegeben, wieviel Millisekunden das Ganze denn jetzt gedauert hat. Und damit das noch schneller geht, werde ich nichts in die Konsole reinschreiben lassen, sondern werde die For-Schleife einfach nur normal durchlaufen lassen. Denn eine Ausgabe in die Konsole würde die For-Schleife etwas verlangsamen, da das immer etwas langsamer ist. Konsolenausgaben beeinflussen die Geschwindigkeit unseres Programms, später im Programm haben wir ja gar keine Konsole mehr. Und weil 10 hier so ein bisschen zu einfach ist, mach ich einfach mal tausend, also mal hundert. Und wir schauen mal in Unity, wie schnell diese For-Schleife von null bis tausend zählen kann, innerhalb eines Frames, beziehungsweise, wenn wir das hier in der Initialisierung haben, noch vor dem ersten Frame. Wechseln wir also in Unity, und starten das Skript, sehen wir, dass es null Millisekunden gedauert hat, wir sind hier also in einer nicht mehr messbaren Zeit, wo unsere For-Schleife von null bis tausend gezählt hat. Als Beispiel werde ich die Konsolenausgabe jetzt mal wieder hinzufügen, und Sie werden sehen, wie das die ganze Sache verlangsamt. Ja, wir sehen schon, es dauert sehr viel länger, und wir sind hier bei 1972 Millisekunden, allein durch die Konsolenausgabe. Hier müssen wir uns allerdings darüber im Klaren sein, dass eine Konsole im späteren Spiel oder in der späteren Anwendung ja gar nicht mehr existiert, und dann das einfache Zählen bereits in nicht mehr messbaren Millisekunden passiert ist. For-Schleifen sind also sehr sehr effizient und sehr sehr schnell. Zusammengefasst merken wir uns, dass wir For-Schleifen mit dem Schlüsselwort For quasi initialisieren, vorbereiten, dann die drei Elemente festlegen, wo geht's los, bis wohin sollst du durchlaufen, und was passiert mit i nach jedem Durchlauf, und dann noch den Rumpf der Vorschleife beachten müssen. Hier kann wirklich alles drinstehen, was wir auch immer brauchen, was für unseren momentanen Zweck, für unsere momentane Anwendung wichtig ist.

Skripting in Unity Grundkurs

Greifen Sie mithilfe von C#-Skripts dynamisch in Ihr Unity-Projekt ein. Auch Programmier-Neulinge lernen Schritt für Schritt den Einstieg ins Skripting.

4 Std. 50 min (40 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Anleitung für Unity 5-Nutzer:

  • Schritt 1: Projekt in Unity 5 öffnen und die Meldung bestätigen, dass das Projekt ein Upgrade bekommt.
  • Schritt 2: Wenn die Meldung kommt, dass die API upgedatet werden muss, diese auch bestätigen

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!