Galileo Design < openbook > Galileo Design - Know-how für Kreative.
Know-how für Kreative.

Inhaltsverzeichnis
Vorwort
1 Flash für ActionScript
2 ActionScript in Flash
3 Flash Pro für ActionScript
4 Grundlagen der Programmierung
5 Einfache Filmsteuerung
6 Bildschirme und Präsentationen
7 Drucken und das Kontextmenü
8 Textfelder
9 Tasten
10 Datum und Zeit
11 Rechnen
12 Farbe wechseln und Drag
13 Zeichnen und Zufall
14 Von Mäusen und Duplikaten
15 Kollisionstest
16 Sound
17 Video
18 Externe Filme
19 Vorladen und Player erkennen
20 Formulare und UI-Komponenten
21 Komponenten anpassen
22 Formulare versenden
23 Warenkorb
24 Ausblick auf ActionScript 3
Stichwort

Download:
- ZIP, ca. 14,4 MB
Ihre Meinung?

Spacer
 <<   zurück
Einstieg in ActionScript von Christian Wenz, Tobias Hauser, Armin Kappler
Aktuell zu Flash 8
Buch: Einstieg in ActionScript

Einstieg in ActionScript
brosch., mit CD und QuickFinder und Referenz
416 S., 24,90 Euro
Galileo Design
ISBN 978-3-89842-774-6
Pfeil 13 Zeichnen und Zufall
  Pfeil 13.1 Zeichnen
  Pfeil 13.2 Tiefe
  Pfeil 13.3 Fortlaufende Animation mit setInterval oder onEnterFrame?
  Pfeil 13.4 Zufall und Animation
  Pfeil 13.5 Alles in einem


Galileo Computing - Zum Seitenanfang

13.3 Fortlaufende Animation mit setInterval oder onEnterFrame?  topZur vorigen Überschrift

Eine Animation (oder auch Veränderung) kann von einer Nutzereingabe abhängen. Das war in Kapitel 12 der Fall, sowohl bei Drag & Drop als auch beim Farbwechsel. Daneben gibt es Animationen, die aus Einzelbildern bestehen. Ihre Realisierung ist in der Zeitleiste kein Problem, wie aber funktioniert das beim Programmieren? Sie benötigen zwei Teile:

  • einen immer wiederkehrenden Aufruf und
  • eine Veränderung bei jedem Aufruf.

Die Veränderung lässt sich am einfachsten mit einer Variable realisieren, deren Wert bei jedem Aufruf wechselt. Für den wiederkehrenden Aufruf gibt es zwei Lösungen:

  • einen fortwährenden Funktionsaufruf mit setInterval(Funktion, Interval, Parameter)
  • und das Ereignis enterFrame.

Beiden Methoden sind Sie schon begegnet: setInterval() beispielsweise in Kapitel 8, »Textfelder«, für den Scrollbalken und in Kapitel 10, »Datum und Uhrzeit«, zum Aktualisieren der Uhr; enterFrame haben Sie in Kapitel 11, »Rechnen«, bei unserem Schaukelstuhlbeispiel kennen gelernt. Im Folgenden wollen wir Ihnen die genauen Unterschiede zwischen beiden Methoden erklären.


setTimeout()

JavaScript besitzt die Funktion setTimeout(Funktion, Zeit, Parameter), die eine Funktion zeitversetzt und nur einmal aufruft. ActionScript hat diese Funktion nicht übernommen. Um ihre Wirkung zu simulieren, müssen Sie mit setInterval() eine Funktion aufrufen und innerhalb der Funktion mit clearInterval() den regelmäßigen Aufruf gleich wieder löschen.


setInterval()

setInterval() ist eine globale Funktion: Sie ist nicht an einen MovieClip gebunden und Sie können diese Funktion jederzeit ausführen. setInterval(Funktion, Interval, Parameter) ruft eine Funktion in regelmäßigen Abständen auf. Das Intervall für die Aufrufe wird in Millisekunden angegeben. Die Parameter folgen danach und sind durch Kommas getrennt:

setInterval(Funktion, Interval, Parameter1, Parameter2, ...);

setInterval() gibt eine numerische ID zurück, die Sie in einer Variablen speichern können:

var id_num:Number = setInterval(Funktion, Interval, Parameter);

Der Vorteil dieser Vorgehensweise: Mit der ID und der Funktion clearInterval(ID) löschen Sie einen regelmäßigen Funktionsaufruf wieder.

clearInterval(id_num);
enterFrame

enterFrame ist ein Ereignis für MovieClips. Meist kommt es als Ereignisprozedur zum Einsatz:

_root.onEnterFrame = function() {
   Anweisungen;
}

Alternativ können Sie es auch bei onClipEvent in der Aktion des MovieClips verwenden:

onClipEvent (enterFrame) {
   Anweisungen;
}

enterFrame gibt es erst seit Flash MX. In den Versionen davor ist setInterval() die einzige Möglichkeit für fortlaufende Animationen.

Wie oft enterFrame eintritt, richtet sich nach der Abspielrate des Films, denn bei jedem Bild wird das Ereignis ausgeführt. Wenn Sie eine Abspielrate von 12 Bildern pro Sekunde (bps) haben, tritt das Ereignis also zwölfmal pro Sekunde ein.

Wenn der Flash-Player die Abspielrate allerdings aus Performance-Gründen reduziert, sinkt auch die Rate, in der enterFrame ausgeführt wird.

Für die Animation ergibt sich daraus das Problem, dass Sie keine Kontrolle haben, wie oft das Ereignis eintritt.

Wenn Sie also einen gesteuerten Zeitpunkt brauchen, an dem der Aufruf erfolgt, sollten Sie setInterval() verwenden.

Wenn Sie dagegen Tastatureingaben regelmäßig überwachen müssen, ist enterFrame zu bevorzugen.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
 <<   zurück
  
  Zum Katalog
Zum Katalog: ActionScript 3 – Das Praxisbuch






ActionScript 3
Das Praxisbuch

bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Adobe Flash CS3






 Adobe Flash CS3


Zum Katalog: Flash fast forward






 Flash fast forward


Zum Katalog: Adobe Dreamweaver CS3






 Dreamweaver CS3


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Design]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de