Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-03-2006, 12:53   #1 (permalink)
Neuer User
 
Benutzerbild von 0711concept
 
Registriert seit: Apr 2003
Beiträge: 52
Pause in einer for-Schleife einbauen

Hallo zusammen, ich möchte eine kleine Pause in einer Schleife einbauen. Was das mir bringt: Es werde die Filme langsam (sichtbar) von der Bühne genommen.

Geht sowas? Ich habe es so versucht - ging leider nicht...

for (i=0; i<depth; i++) {
this["myMC"+i].removeMovieClip();
wait(this, 5 // Kuze Pause
}
+
Ich freue mich über Eure Hilfe.

0711concept
__________________
The Worst Day on the Beach is Better than the Best Day at Work.

www.0711concept.de
0711concept ist offline   Mit Zitat antworten
Alt 06-03-2006, 13:01   #2 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
mit for geht das nicht
die forschleife ist innerhalb eines frameupate abgelaufen
das du suchen solltets ist setInterval und if bedingungen
Hier habe ich so ein prinzip verbraten
__________________
gruß bloba

2 x onkel² b_d

Geändert von bloba (06-03-2006 um 13:03 Uhr)
bloba ist offline   Mit Zitat antworten
Alt 06-03-2006, 13:05   #3 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
...allerdings funzt setInterval() erst ab Flash 6!

Könntest in Flash 5 vielleicht über onClipEvent (enterFrame) eine Var hochzählen und wenn die einen brestimmten Wert hat, geht's weiter.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 06-03-2006, 13:05   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
@ bloba:
setInterval gibts erst ab Flash mx, somit müsste man das mit getTimer und on(enterFrame) machen.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 06-03-2006, 13:06   #5 (permalink)
Neuer User
 
Benutzerbild von 0711concept
 
Registriert seit: Apr 2003
Beiträge: 52
Vielen Dank für die Antworten...

gibt es ein Beispiel das ich testen könnte.

0711concept
__________________
The Worst Day on the Beach is Better than the Best Day at Work.

www.0711concept.de
0711concept ist offline   Mit Zitat antworten
Alt 06-03-2006, 13:09   #6 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
ups ich hatte das [Flash5] überlesen.

dann gehts nur mit einer movieclip schleife oder enterfarme -
viellcht hats du ja die möglichkeit des mim 6er zu machen .des macht die ganze schache jedenfalls etwas leicher
__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 06-03-2006, 13:24   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Könntest das mal so probieren. Das Script musst du auf einen MovieClip legen:
PHP-Code:
onClipEvent (load) {
    
this.0;
    
this.0;
    
this.depth 3;
}
onClipEvent (enterFrame) {
    if (
this.x++ == 60) {
        
removeMovieClip(this._parent["myMC"+this.i++]);
        
this.0;
        if (
this.== this.depth) {
            
unloadMovie(this);
        }
    }

Weiß nicht, ob das in Flash 5 so klappt...!?
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 06-03-2006, 13:26   #8 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
@derFrager das halte ich für riskant
PHP-Code:
if (this.x++ == 60) { 
ich würd sowas nehmen >=
__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 07-03-2006, 12:19   #9 (permalink)
Neuer User
 
Benutzerbild von 0711concept
 
Registriert seit: Apr 2003
Beiträge: 52
Vielen Dank

Ich habe das probiert und kam auch zu dem Ergebnis, dass die MCs langsam gelöscht werden. Mir zu langsam.

Neuer Ansatz:
ich habe überlegt einen Timer einzubauen, der auf 12 zählt und so die schleife bremst:

for (i=0; i<depth; i++) {
// TIMER REIN- wenn timer >=12 dann
this["myMC"+i].removeMovieClip();
}

Kann mir jemand hier helfen? Ist das unfug?
0711concept
__________________
The Worst Day on the Beach is Better than the Best Day at Work.

www.0711concept.de
0711concept ist offline   Mit Zitat antworten
Alt 07-03-2006, 12:22   #10 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Die for-Schleife kannst du vergessen! Das geht so nicht. Du musst die Zeile hier anpassen:
PHP-Code:
if (this.x++ == 60) { // oder auch if (this.x++ >= 60) 
Die 60 z.B. in 12 ändern.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 07-03-2006, 12:29   #11 (permalink)
Neuer User
 
Benutzerbild von 0711concept
 
Registriert seit: Apr 2003
Beiträge: 52
Danke

Danke, ich habe

for (i=0; i<depth; i++) {
this.i = 0;
if (this.i++ >= 60) {
this["worte"+i].removeMovieClip();
}
}

--> resultat: Hat nicht funktioniert!

Klar die Möglichkeit die 60 auf 12 zu setzen habe ich versucht. Ist mir zu langsam und es bleiben MCs stehen. Beim Wiederholen werden weitere MCs auf die Bühne geladen und dann geht gar nichts mehr.

0711concept
__________________
The Worst Day on the Beach is Better than the Best Day at Work.

www.0711concept.de
0711concept ist offline   Mit Zitat antworten
Alt 07-03-2006, 12:34   #12 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Dann setz die Zahl auf 3 oder auf 4 oder was weiß ich... Was soll den "Beim Wiederholen werden weitere MCs auf die Bühne geladen und dann geht gar nichts mehr." bedeuten???

Und muss das jetzt Falsh 5 sein?
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 07-03-2006, 12:36   #13 (permalink)
Neuer User
 
Benutzerbild von 0711concept
 
Registriert seit: Apr 2003
Beiträge: 52
damit geht sganz gut ist aber nicht so schnell wie ich möchte.

onClipEvent (load) {
this.x = 0;
this.i = 0;
this.depth = 9000;
}
onClipEvent (enterFrame) {
if (this.x++ >= 4) {
removeMovieClip(_root["worte"+this.i++]);
this.x = 0;
if (this.i <= this.depth) {
unloadMovie(this);
}
}
}
__________________
The Worst Day on the Beach is Better than the Best Day at Work.

www.0711concept.de
0711concept ist offline   Mit Zitat antworten
Alt 07-03-2006, 12:38   #14 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Schneller geht's nicht:
PHP-Code:
onClipEvent (load) { 
this.0
this.depth 9000

onClipEvent (enterFrame) { 
removeMovieClip(_root["worte"+this.i++]); 
if (
this.>= this.depth) { 
unloadMovie(this); 


edit: ...es sei denn, du setzt die FPS hoch.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (07-03-2006 um 12:40 Uhr)
Der Frager 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 00:20 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele