Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-11-2003, 15:27   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 10
Question "setInterval" oder "onEnterFrame"?

Hallo alle zusammen,

bekanntlich führen ja viele wege nach rom, so ist es denke ich auch bei der actionscript-programmierung.
ich bin momentan auf der suche nach dem günstigsten weg, eine bildlaufleiste zu erstellen und bin mir nicht ganz sicher welcher weg der bessere ist. vielleicht kann mir jemand dazu einen tipp geben.

zum eigentlichen problem: ich möchte eine bildlaufleiste mit recht vielen bildern erstellen. die bilder sollen von links nach rechts laufen, allerdings ohne zwischenraum zwischen den bildern. die bilder haben unterschiedliche breiten. deshalb habe ich ein skript geschrieben, das zum einen das nächste bild am linken rand der leiste positioniert, dann die bewegung startet und wenn voll sichtbar ist das nächste element startet.

ist es sinnvoll dieses skript mit "setInterval" zu starten oder eher mit "onEnterFrame"?

vielen dank im voraus, zorn
zorn ist offline   Mit Zitat antworten
Alt 15-11-2003, 15:59   #2 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Das stellt sich dir...

Wenn dein Skript jeden Frame (so schnell wie es geht) aktualisiert werden soll, dann brauch onEnterFrame. Wenn du aber zbsp. nur jede Sekunde das Skript ausführen willst so nimm setInterval.

P.S.: Mit setInterval kann man im Prinzip auch onEnterFrame bewirken :
ActionScript:
  1. id = setInterval(func,fps/1000);
MacEvil ist offline   Mit Zitat antworten
Alt 15-11-2003, 16:05   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 10
Smile

vielen dank für den tipp...

...dann werde ich mit setInterval arbeiten.
zorn ist offline   Mit Zitat antworten
Alt 15-11-2003, 16:28   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2001
Ort: D
Beiträge: 381
ich habe vor einiger Zeit die Performance der beiden Möglichkeiten getestet:
setIntervall hatte immer eine höhere Framerate als onEnterFrame.

Allerdings glaube ich, dass setIntervall die "sensiblere" Lösung ist, bei der man auf jeden Fall mehr aufpassen muss, was den Reset angeht als bei onEnterFrame.

Bei set Intervall kann es geschehen, dass man Intervalle erzeugt, die man hinterher nicht mehr löschen kann.
momo-loom ist offline   Mit Zitat antworten
Alt 15-11-2003, 17:23   #5 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Zitat:
Bei set Intervall kann es geschehen, dass man Intervalle erzeugt, die man hinterher nicht mehr löschen kann.
Hmm.. hatte noch keine Probs mit clearInterval.

Schade finde ich, dass man den eingestellen FPS wert nicht abfragen kann, also so etwas wie getFPS();
MacEvil ist offline   Mit Zitat antworten
Alt 15-11-2003, 17:40   #6 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
die fps abfragen kann man ...mit ner kleinen fkt. also ne getFPS iss schnell geschrieben...

zum interval...

nicht nur clearInterval benutzen, sondern auch delete varname von interval, dann iss er weg...

zum generellen: ich würde hier nur mit setInterval arbeiten, den du auch deutlich unter der standzeit eines bildes [ also 1000ms/fps = standzeit] ansiedeln kannst...somit kannst du viel genauer sogar arbeiten, als mit nem onenterframe...

greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 15-11-2003, 17:53   #7 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Zitat:
die fps abfragen kann man ...mit ner kleinen fkt. also ne getFPS iss schnell geschrieben...
Ich meine die in der Fla eingestellte Framerate. Dann könnte man eben setInterval(func,100/getFPS()); machen
MacEvil ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 06:43 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele