Rheinwerk Design < openbook > Rheinwerk 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
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
Rheinwerk 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


Rheinwerk 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.



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

 <<   zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: ActionScript 3 – Das Praxisbuch
ActionScript 3
Das Praxisbuch

bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: JavaScript






 JavaScript


Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Rheinwerk-Shop: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 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.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern