Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-05-2006, 11:40   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 29
setinterval wird nicht beendet

Hi,

ich hab in einer for-Schleife eine Intervalfunktion, die bei einer bestimmten Bedingung beendet werden soll.
Beim zweiten for-Durchlauf geschieht dies aber nicht.

Hier mein code:

Code:
var bytesload:Integer;
var loadArray = new Array("Strichmännchen.swf", "Strichmännchen2.swf");

for(var i=0; i<2; i++) {
	buffer1.loadMovie(loadArray[i]);
	trace(i);
	
	var loaded = setInterval( 
							 function() {
								if(buffer1.getbytesloaded() > 16) {
									trace(buffer1.getbytestotal());
        							clearInterval(loaded);
									delete loaded;
								}
							 }
							 , 10);
}
ich nehme an, dass die zweite intervalfunktion schon aufgerufen wird, bevor die erste gelöscht ist.

wie kann ich das hier verhindern?
erik_dl ist offline   Mit Zitat antworten
Alt 14-05-2006, 12:41   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!

Was soll'n das werden? Willst du die swfs nur "anladen" um an die totalBytes() ranzukommen?
Also wie du schon erkannt hast, geht das so jedenfalls nicht.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 14-05-2006, 12:48   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 29
richtig ich will einfach die größe der swf's haben.
gibts dafür etwa eine funktion, die die dateigröße auslesen kann (hab ich hier leider im forum nicht gefunden)??

die größe wird ja auch ausgelesen, das funktioniert, nur wird wie gesagt beim letzten durchlauf die intervalfunktion nicht beendet. ich bekomme also ständig die größe der letzten datei ausgegeben.
erik_dl ist offline   Mit Zitat antworten
Alt 14-05-2006, 12:55   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Naja, die Dateigröße liest man "eingentlich" z.B. über PHP aus. Ansonsten so in der Art hier:
PHP-Code:
var loadArray = new Array("Strichmännchen.swf""Strichmännchen2.swf");
var 
0;
this.createEmptyMovieClip("buffer1"1);
this.buffer1.loadMovie(loadArray[i]);
this.onEnterFrame = function() {
    if (
this.buffer1.getBytesTotal()>=5) {
        
trace(this.buffer1.getBytesTotal());
        if (++
i<loadArray.length) {
            
this.buffer1.loadMovie(loadArray[i]);
        } else {
            
delete this.onEnterFrame;
        }
    }
}; 
Ginge auch mit setInterval(), ist aber für sowas nicht unbedingt mein Freund...

edit: Umlaute in Dateinamen sind übrigens nicht sehr empfehlenswert.
__________________

ternärer Konditionaloperator

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

Geändert von Der Frager (14-05-2006 um 12:58 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 14-05-2006, 13:06   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 29
super funktioniert 1a, vielen dank
erik_dl 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:45 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele