DynamischeZeichnungen

Mit einer Schleife kann man den Computer anweisen, bestimmte Instruktionen wiederholt auszuführen, er wird das so schnell machen, wie möglich. Weil Computer sehr schnell arbeiten, bedeutet das (in den meisten Fällen), dass die gesamte Schleife in nur einem Augenblick ausgeführt wird - benutzen wir sie beispielsweise, um viele Striche zu zeichnen, dann wird es so aussehen, als würden alle Striche gleichzeitig gezeichnet.

Aufgabe 1a)
Schreiben Sie ein Programm, das etwa die folgende Figur zeichnet: __Hinweise__: Benutzen sie eine while-Schleife, in der die Rechtecke von aussen nach innen gezeichnet werden. Das äusserste Rechteck soll die Breite und Höhe der Bühne haben (//stage.stageWidth, stage.stageHeight)//. Die Rechtecke werden jeweils um 10 Pixel kleiner, die Strichbreite ist 7 Pixel, die Randfarben werden zufällig gewählt. Das war also ein Beispiel dafür, dass zwischen den Durchgängen durch die Schleife fast keine Zeit vergeht. Was aber, wenn ich sehen möchte, dass die Rechtecke __nacheinander__ gezeichnet werden? Die Antwort: Am einfachsten benutzt man ein besonderes Ereignis namens //Event.ENTER_FRAME//. Dieses Ereignis wird mehrmals pro Sekunde ausgelöst, nämlich immer dann, wenn der Abspielkopf in ein neues Frame wechselt (bzw. wechseln würde). Der Default-Wert liegt bei 24 BpS (Bilder pro Sekunde, s. Eigenschaften der Bühne), die an das Event geknüpfte Funktion wird also jede 24tel-Sekunde ausgeführt. Wie man mit Ereignissen umgeht, wissen sie ja bereits. Der einzige Unterschied besteht darin, dass dieses neue Ereignis nicht durch Benutzerverhalten ausgelöst wird, sondern automatisch, in regelmässigen Abständen.

Aufgabe 1b)
Ändern sie ihr Programm von oben so ab, dass die Rechtecke nacheinander gezeichnet werden, eines pro 24tel-Sekunde. Benutzen sie dafür das ENTER_FRAME-Ereignis anstatt der Schleife. media type="file" key="dynamischeZeichnung1.swf" align="center" width="360" height="270"

Erweiterungen:
 * Wenn entweder Breite oder Höhe den Wert 0 erreicht habe, soll es wieder von aussen losgehen
 * Jedes Rechteck soll um einen kleinen zufälligen Wert verschoben werden (in X- und Y-Richtung), so dass es weniger regelmässig aussieht
 * Jedes Rechteck soll gegenüber dem vorhergehenden um 4 Grad gedreht werden (MovieClip-Eigenschaft //rotation//)
 * Machen sie weitere Eigenschaften der Zeichnung vom Zufall abhängig - aber so, dass es gut aussieht

Aufgabe 2)
Schreiben sie ein Programm, das in etwa die folgende dynamische Zeichnung erstellt media type="file" key="dynamischeZeichnung2.swf" align="center" width="360" height="270"

Hinweis: Vieles ist sehr ähnlich wie in Aufgabe 1, sie müssen sich nur gut überlegen, was sich zwischen den einzelnen Aufrufen der Zeichnungsfunktion ändert und ob diese Änderung durch eine Zufallszahl oder durch eine regelmässige Änderung (des Werts in einer Variablen) gesteuert werden kann. Erweiterungen:
 * Machen sie weitere Eigenschaften vom Zufall oder von einer sich verändernden Variablen abhängig - so, dass es gut aussieht.
 * Entwickeln sie eine eigene dynamische Zeichnung (vielleicht nicht gerade mit Rechtecken)