Ergebnis der swf-Datei
Die Wiederholungen der Basiskurve werden über eine do-while-Schleife gesteuert.
Wiederholung der Basiskurve
Im letzten Arbeitsschritt wurde die Basiskurve mittels einer for-Schleife sechsmal aneinandergereiht.
for (var i:Number = 0; i<6; i++) { |
Im letzten Arbeitsschritt endet die Gesamtkurve auf Grund der gewählten
Parameterwerte innerhalb der Bühne.
Unser Ziel ist es jedoch, die Kurve über
die ganze Bühnenbreite zu zeichnen.
In einer for-(Zähl-)Schleife
sind in der Regel das Wiederholungskriterium und damit die Anzahl der Wiederholungen
bereits vor Beginn der Abarbeitung der Schleife fixiert.
Wenn man die Breite der Basiskurve parametrisiert, müsste man daher
bei einer for-Schleife die Anzahl
der Wiederholungen relativ zum Breitenparameter vorher ausrechnen und diesen
Wert in das Wiederholungskriterium einfügen:
w ist im nachfolgenden Codeabschnitt
die Breite der Basiskurve und count die
Anzahl der Wiederholungen.
Die Funktion Math.ceil(x) berechnet
die größte ganze Zahl größer oder gleich
x .
var count:Number = Math.ceil(Stage.width/w); |
Eleganter ist es jedoch, nicht die Anzahl der Wiederholungen vorher zu
berechnen, sondern den Abbruch der Schleife durch das eigentliche Wiederholungskriterium
zu beschreiben:
Der Anweisungsblock der Schleife wird wiederholt,
wenn der Endpunkt der zuletzt gezeichneten Basiskurve innerhalb der Bühne
liegt. Das lässt sich mit einer do-while-Schleife
realisieren.
Der Programmcode ohne Erklärungen
Codeabschnitte, die sich nicht vom vorigen Arbeitsschritt unterscheiden, werden grau geschrieben.
// BÜHNENRECHTECK
MIT FARBE FÜLLEN UND KONTURIEREN |
Der Programmcode mit Erklärungen
Wiederholungskriterium und logisches UND
Der Endpunkt der zuletzt gezeichneten Basiskurve, der gleichzeitig der
Startpunkt der nächsten Basiskurve ist, muss innerhalb der Bühne
liegen.
Innerhalb der Bühne liegen
heißt, daß
die x-Koordinate des Punktes größer oder gleich 0 UND kleiner als die Bühnenbreite ist UND
die y-Koordinate des Punktes größer oder gleich 0 UND kleiner als die Bühnenhöhe ist .
Es müssen also vier Bedingungen gleichzeitig erfüllt sein, damit
der Punkt, dessen x- und y-Koordinaten im Array
point abgespeichert werden, innerhalb der Bühne liegt.
D.h. die Einzelbedingungen werden über das
logische UND &&
verknüpft: Die Gesamtbedingung ist
wahr, wenn alle Teilbedingungen erfüllt sind.
0<=point.x && point.x<Stage.width
&& 0<=point.y && point.y<Stage.height |
do-while-Schleife
do { |
Das Zeichnen der Basiskurve wird wiederholt, solange das Wiederholungskriterium erfüllt ist.
Man erkennt, dass die Kurve nicht mehr fortgesetzt wird, sobald der Endpunkt außerhalb der Bühne liegt.
while-Schleife
Im Fall der do-while-Schleife wird
die Basiskurve auf jeden Fall einmal gezeichnet, auch wenn der Startpunkt
außerhalb der Bühne liegt.
Wenn man das nicht möchte, muß man eine while-Schleife
verwenden:
while (0<=point.x && point.x<Stage.width
&& 0<=point.y && point.y<Stage.height){ |