Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-01-2010, 14:00   #1 (permalink)
Neuer User
 
Benutzerbild von cimbomgs
 
Registriert seit: Dec 2009
Beiträge: 33
Zeitleiste endlos abspielen mit nur ein Frame [AS3]

Hallo Forum,

ich benutze Flash CS4 mit ActionScript 3.

Auf der Zeitleiste habe ich mehrere Ebenen mit jeweils immer nur ein Frame.
Da ich nur ein Frame habe, habe ich keine Endlosschleife im Programm. D.h. der "Flash-Film" läuft nur ein Mal und bleibt stehen.



damit das Programm endlos läuft benutze ich einen Timer
ActionScript:
  1. var timer:Timer = new Timer(5000);
  2. timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerCompleteHandler);

ich bekomme mit dem Timer probleme beim laden. Die Bilder werden nicht richtig angezeigt oder übersprungen wenn der Timer abgelaufen ist, bevor die Bilder geladen sind.

Meine Frage:
Welche Methode ist die elegantere?

Gruß
Cimbomgs
cimbomgs ist offline   Mit Zitat antworten
Alt 10-01-2010, 14:19   #2 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
anstatt dem Timer einen Enterframe-event benutzen.. ?
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 10-01-2010, 14:23   #3 (permalink)
Neuer User
 
Benutzerbild von cimbomgs
 
Registriert seit: Dec 2009
Beiträge: 33
Zitat:
Zitat von the binary Beitrag anzeigen
anstatt dem Timer einen Enterframe-event benutzen.. ?
ich hab nur ein Frame, es gibt kein nächsten Frame daher wird kein Enterframe-event ausgeführt. Oder bin ich etwa falsch?
cimbomgs ist offline   Mit Zitat antworten
Alt 10-01-2010, 14:28   #4 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
du bist falsch..

beispiel:
ActionScript:
  1. var timer:Sprite = new Sprite;
  2.     timer.addEventListener(Event.ENTER_FRAME, someMethod);
  3.    
  4. function someMethod (evt:Event) {
  5.     // do some stuff here.. 
  6. }

genauso gut wie'n timer..
gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 10-01-2010, 14:45   #5 (permalink)
Neuer User
 
Benutzerbild von cimbomgs
 
Registriert seit: Dec 2009
Beiträge: 33
danke das klappt aber jetzt wird die Function wie eine Schleife aufgerufen.
wie kann ich das so machen, dass in der Function gewartet wird bis eine bestimmt Zeit abgelaufen bzw. Ereignis eingetretten ist?

ActionScript:
  1. var timer:Sprite = new Sprite;
  2.      timer.addEventListener(Event.ENTER_FRAME, someMethod);
  3.  
  4. function someMethod (evt:Event)
  5. {
  6.     // do some stuff here..
  7.  
  8.     //warte bis Tween-Ereigbis abgeschlossen
  9.  
  10.     //mach weiter
  11. }
cimbomgs ist offline   Mit Zitat antworten
Alt 10-01-2010, 15:07   #6 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
das kommt darauf an, auf was fuer ein event du wartest, und wer oder was den event schmeisst..
ich weiss ja nicht genau, was du vor hast..
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 10-01-2010, 16:13   #7 (permalink)
Neuer User
 
Benutzerbild von cimbomgs
 
Registriert seit: Dec 2009
Beiträge: 33
Zitat:
Zitat von the binary Beitrag anzeigen
das kommt darauf an, auf was fuer ein event du wartest, und wer oder was den event schmeisst..
ich weiss ja nicht genau, was du vor hast..
ich will ein Tween ausführen und solange warten bis der Tween beendet wurde.
while-schleife ist sehr schlecht, da cpu ausgelastet wird.
cimbomgs ist offline   Mit Zitat antworten
Alt 10-01-2010, 20:42   #8 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
aha, und was hat das mit dem laden der bilder zu tun ?

den meisten tween-engines kannst du eine callback-funcktion uebergeben,
die aufgerufen wird, wenn der tween beendet ist..
z.b.
koenntest du darin eine 'flag'-var setzen (z.b. ein boolean), welches du in
deinem Enterframe-handler ueberpruefen koenntest..

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 10-01-2010, 22:10   #9 (permalink)
Neuer User
 
Benutzerbild von cimbomgs
 
Registriert seit: Dec 2009
Beiträge: 33
Zitat:
Zitat von the binary Beitrag anzeigen
aha, und was hat das mit dem laden der bilder zu tun ?
sorry ich habe vergessen zu erwähnen dass ich externe Bilder in eine MC lade und die MC animiere. Je nachdem wie schnell oder langsam die Bilder geladen werden, ist die Zeit entweder abgelaufen oder es ist nicht genügend Zeit übrig um die Animation durchzuführen.

mit Enterframe-event bekomme ich das nicht hin, weil AS3 nicht alles sequentiell abarbeitet.

so viel Erfahrung habe ich in AS3 noch nicht, deswegen fallen mir die ganzen Events und Eventhandler schwer.

Danke für deine Hilfe
cimbomgs ist offline   Mit Zitat antworten
Alt 11-01-2010, 13:30   #10 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
ok, keine angst, so schwer ist das eigentlich nicht nicht, und wenn man
es einmal verstanden hat dann gehts fast wie von selbst..

was machst du denn in deiner urspruenglichen 'timer'-methode.. ?
da startest du die tweens der geladenen movieclips oder wie.. ?

ein bisschen mehr code waere sehr hilfreich..

gruessle..
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 11-01-2010, 14:38   #11 (permalink)
Neuer User
 
Benutzerbild von cimbomgs
 
Registriert seit: Dec 2009
Beiträge: 33
Zitat:
Zitat von the binary Beitrag anzeigen
ok, keine angst, so schwer ist das eigentlich nicht nicht, und wenn man
es einmal verstanden hat dann gehts fast wie von selbst..

was machst du denn in deiner urspruenglichen 'timer'-methode.. ?
da startest du die tweens der geladenen movieclips oder wie.. ?

ein bisschen mehr code waere sehr hilfreich..

gruessle..
the binary, ich danke dir. Ich habe dein Rat befolgt und das ganze mit enterframe-Event realisiert. Klappt soweit ganz gut.
ActionScript:
  1. var timer:Sprite = new Sprite;
  2.            timer.addEventListener(Event.ENTER_FRAME, someMethod);
  3.  
  4.       function someMethod (evt:Event)
  5.       {
  6.           if(flags gesetzt)
  7.                 // do some stuff here..
  8.       }

eine Frage hätte ich zu folgendem
ActionScript:
  1. var bewegung:Tween = new Tween(mc, "x" , Regular.easeInOut, 1100, 0, 0.5, true);
genau diesen Tween will ich durchführen aber ohne vorher das an Konstruktor zu übergeben. Ich will die Parameter später manuel übergeben und manuel den Tween starten etwa so:

ActionScript:
  1. var bewegung:Tween = new Tween();
  2.  
  3. bewegung.Objekt = mc;
  4. bewegung.kordinate = x;
  5. bewegung.animation = Regular.easeInOut;
  6. bewegung.startposition= 1100;
  7. bewegung.endposition=0;
  8.  
  9. function abc()
  10. {
  11.     bewegung.starten();
  12. }
wie kann ich das machen?

Danke
cimbomgs ist offline   Mit Zitat antworten
Alt 11-01-2010, 15:06   #12 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
schoen..

dein code ist fast richtig. versuchs mal mit:
ActionScript:
  1. bewegung.start();

und btw 'F1' ist dein freund..

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 11-01-2010, 15:09   #13 (permalink)
Neuer User
 
Benutzerbild von cimbomgs
 
Registriert seit: Dec 2009
Beiträge: 33
the binary, die Methoden die ich angegeben habe sind nur als Beispiel, d.h. sie existieren gar nicht.

in der Hilfe wurde ich auch nicht fündig
cimbomgs ist offline   Mit Zitat antworten
Alt 11-01-2010, 15:22   #14 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
ActionScript:
  1. Tween.start();
is schon die richtige methode.. !?
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 11-01-2010, 15:30   #15 (permalink)
Neuer User
 
Benutzerbild von cimbomgs
 
Registriert seit: Dec 2009
Beiträge: 33
ich meine aber diese Methoden:

bewegung.Objekt = mc;
bewegung.kordinate = x;
bewegung.animation = Regular.easeInOut;
bewegung.startposition= 1100;
bewegung.endposition=0;
cimbomgs 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash CS4] [AS3] - FLVPlayback endlos abspielen butterbrei Flash Einsteiger 14 22-10-2009 12:41
Flv endlos abspielen manser Flash Einsteiger 26 03-12-2008 16:11
flv endlos abspielen... tomate22 Video 2 24-01-2008 15:27
flv endlos abspielen? thom.k Komponenten und SmartClips 14 28-04-2005 13:52
endlos abspielen lassen saver6 Flash MX 1 04-04-2003 09:10


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:41 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele