Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-09-2004, 07:13   #1 (permalink)
Prospektleser
 
Registriert seit: Jul 2004
Ort: Altmünster
Beiträge: 31
Angry Problem mit Level im Preloader

Hallo Leute!
Habe die Suche jetzt schon genützt, aber nichts passendes gefunden, also poste ich meine Frage. Ich lade eine externe swf in den Level 1, wenn das stimmt, und wie kann ich jetzt im Preloader ermitteln, wieviel schon geladen ist und wieviel zu laden ist.

Code:
 
//--- Aktionen für die Button_MCs um externe Daten 
//--- in den Ziel-MC "ladeziel" zu laden --------- 
gleichstrom.onPress = function() { 
    // Ladebefehl 
    loadMovieNum("Gleichstromkreis.swf",1); 
    // Aufruf der Funktion für die Preloaderanzeige 
    ladestatus(); 
}; 
wechselstrom.onPress = function() { 
    loadMovieNum("Wechselstrom.swf",1);
    ladestatus(); 
}; 
drehfeld.onPress = function() { 
    loadMovieNum("Drehfeld.swf",1); 
	laden=3;
    ladestatus(); 
}; 
kontakt.onPress = function() { 
    loadMovieNum("Kontakt.swf",1); 
    ladestatus(); 
}; 

//--- Ladeanzeige unsichtbar machen --------------- 
loader._visible = false; 
//Funktionsdefinition
ladestatus=function()
{
    // Einen onEnterFrame-Event erstellen, so dass nun 
    // der Ladezustand kontinuierlich abgefragt und 
    // angezeigt wird 
    loader.onEnterFrame = function()
	{ 
	_level1.getBytesLoaded=geladen;
	trace(geladen);
	_level1.getBytesTotal=zuladen;
	trace(zuladen)
	
		// Sicherheitsabfrage, da ein leerer MC so ungefähr 
        // 4 bis 5 Bytes hat und zu Verfälschungen führen könnte 
        if (geladen>=10)
		{
            // Ladeanzeige sichtbar machen 
            loader._visible = true; 
            // Berechnung der bereits geladenen Prozent 
            prozent = Math.round(geladen/zuladen*100); 
            // Ausgabe im dynamischen Textfeld "prozentanzeige" 
            this.prozentanzeige.text = prozent+" Prozent geladen"; 
			// Ausgabe im dynamischen Textfeld "bytanzeige" geladene zu gesamtbytes 
			this.byteanzeige.text = Math.round(geladen/1024)+" Kb/"+Math.round(zuladen/1024)+" Kb";
            // Skalierung des Balkens anhand der Prozentzahl 
            this.balken._xscale = prozent; 
			//Prozentanzeige und byteanzeige wird somit um die Prozent verschoben
			this.prozentanzeige._x=prozent;
			this.byteanzeige._x=prozent;
            // Wenn komplett geladen 
            if (prozent>=100) 
			{ 
                // den EnterFrame-Event löschen um Performance zu sparen 
                delete this.onEnterFrame; 
                // die Ladeanzeige wieder unsichtbar machen 
                this._visible = false; 
            } 
        } 
    }; 
}
Ich hab schon probiert das alles im 10 Frame auszulesen, da ich mir dachte,dass das Script noch nicht so weit war,aber das ging auch nicht.
Wie kann ich das Problem lösen? Weiß jemand einen Tipp. Danke für alle Antworten
mauiproject ist offline   Mit Zitat antworten
Alt 04-09-2004, 13:08   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Super, ich Volltrottel habe gerade während des Schreibens den Browser zugemacht, deswegen das Ganze nochmal in Kurzform:

Im zu ladenden Film im ersten Frame:

_level0.ladesoll = this.getBytesLoaded();

Im Film, der lädt:

ladesoll = 0;
if (ladesoll != 0) {
// lade film
}

«ladesoll» wird gleich 0 vordefiniert.
Sobald der Wert nicht mehr gleich 0 ist, wird content in level1 geladen.
«ladesoll» gibt dann den Wert der zu ladenden Bytes an.

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 05-09-2004, 03:54   #3 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Wieso nutzt du eigentlich Level 1? Du hast in Level 0 mehrere Millionen Tiefenebenen, auf die du deine MCs legen kannst. Die müssten doch eigentlich reichen, oder?

Davon mal abgesehen solltest du dein Laderscript vom restlichen Programm trennen, d.h. den Lader in eine Start-swf packen und den Rest in eine eigene swf und dann von der Start-swf mit loadMovie nachladen. Das Problem ist sonst, dass du von deinem Lader evtl. kaum etwas zu sehen bekommst. Flash lädt noch vor Frame 1 alle Objekte der Bibliothek, die nicht auf der Hauptzeitleiste liegen, d.h. bevor in Frame 1 der Lader startet, ist vielleicht schon der größte Teil des Films geladen.

Wie das scripttechnisch aussieht, findest du unter "Suchen" mit dem Suchbegriff "Preloader"...
  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 04:30 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele