Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-05-2005, 18:10   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2002
Ort: Duisburg
Beiträge: 33
Question Die Zeit beschleunigen ... aber wie?

Hi,

ich habe einen ganzen Haufen Date-Objekte, also Zeitpunkte in der Zukunft, an denen jeweils Events gefeuert werden sollen, wenn die Zeit verstrichen ist. Momentan mache ich das etwas unelegant, indem ich alle Date-Objekte regelmäßig per SetInterval() in einer While-Schleife gegen die System-Zeit abprüfe (Hat da jemand eine bessere Idee?). Das funktioniert eigentlich ganz gut.

Das Problem ist nun, dass die Zeit mit einem beliebigen Zeitrafferfaktor ablaufen soll. Nichts leichter als das: baue ich mir einfach meine eigene Zeit. Und das ist das Problem: Ich verwende SetInterval und das ist bekanntlich nicht gerade sehr genau, was das Flash aber sein muß.

ActionScript:
  1. jetzt = new Date();
  2. zeitanzeigeinterval = setInterval(time_mc, "zeitanzeigen", 100);
  3.  
  4. time_mc.zeitanzeigen = function() {
  5.     jetzt.setTime(jetzt.getTime()+zeitrafferfaktor*100);
  6.     this.zeit.text = jetzt.getHours()+":"+jetzt.getMinutes();
  7.     updateAfterEvent();
  8. };

Bei einem Zeitrafferfaktor von 2 läuft die Zeit nun Dank SetInterval nicht genau doppelt so schnell ab, sondern immer ein wenig schneller oder langsamer, je nach Movie Framerate. Dummerweise kommt es mir aber auf genau diese Präzision an.

Hat jemand eine Idee, einen Tipp oder gar ein Beispiel, wie man mit die Zeit "beschleunigt" um mit Date-Objekten arbeiten zu können?

Viele Grüße aus dem Ruhrpott,
Tibby
Tibby ist offline   Mit Zitat antworten
Alt 13-05-2005, 19:34   #2 (permalink)
subfiler
 
Registriert seit: Jul 2004
Beiträge: 175
falls du weiterhin mit setinterval arbeiten willst (hmm, diese forumlierung macht dir vielleicht hoffnung auf eine alternative, aber bei flash ist im endeffekt alles von der zeiteinteilung auf der timeline abhänig), dann würde ich die schnellste einstellung die du jemals benötigst als fps von dem film machen. d.h. du machst die zeit nicht schneller sondern einmal am anfang gaaaaaaaaanz langsam. dann kannst du sie jederzeit und ganz prezise wieder (normal) schnell machen. kommt das nicht in frage?
hakre ist offline   Mit Zitat antworten
Alt 14-05-2005, 08:49   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2002
Ort: Duisburg
Beiträge: 33
Exclamation

Zitat:
Zitat von hakre
falls du weiterhin mit setinterval arbeiten willst (hmm, diese forumlierung macht dir vielleicht hoffnung auf eine alternative, aber bei flash ist im endeffekt alles von der zeiteinteilung auf der timeline abhänig)
Erst mal danke für die Antwort, aber nachdem ich die Nacht durchgegrübelt habe, habe ich doch noch eine Alternative gefunden: Statt die Zeit zu beschleunigen oder zu verändern (und dabei das ungenaue SetInterval zu verwenden), stricke ich alle Date-Objekte um. Berechne sozusagen deren Zeit neu, wann sie sozusagen in Systemzeit bei einem einem Zeitrafferfaktor x eintreten werden und habe als Referenz immer die stabil und konstant laufende Systemzeit. Das ist dann auf die Millisekunde genau, bedeutet halt nur etwas mehr Aufwand.
Tibby 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 02:33 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele