Problem mit Preloader

visionsign

Mitglied
Hallo Community,

ich habe folgendes Problem! Mein Flashfilm besteht aus 2 Frames.
In Frame 1 habe ich die Funktion des Preloaders liegen:

Code:
 stop(); 
 _root.onEnterFrame = function() { 
 		a = getBytesTotal(); 
 		b = getBytesLoaded(); 
 		percent = Math.round(b/a*100); 
 		loaded = "loading "+percent+"%"; 
 		if (b>=a) { 
 				gotoAndPlay(2) 
 				delete this.onEnterFrame; 
 		} 
 };

in 2ten Frame habe ich nun die eignetliche Funktion.
Die gesammtgröße des Films beträgt ca. 200 kb.


Das Problem ist nun, das der Preloader erst ab ca 60% angezeigt wird.
WARUM?
Ich kann mir vorstellen, daran liegt, das ich in der Library zig Clips, Grafiken etc. pp habe, die "Export für Action Script" und "In erstes Bild exprotieren" aktiv haben! Das ist auch nötig, da sonst die funktion des Flash Films nicht klappt! Wie löse ich am besten das Preloading Problem!
 
Deaktiviere einfach "In erstes Bild exprotieren" und ziehe die Mcs die verknüpft sein sollen ab Frame zwei auf die Bühne.
Falls es dich stört wenn sie da rumliegen kannst du sie ja mit
PHP:
 mc.swapDepths(666);
mc.removeMovieClip();
löschen.

Ansonsten prüfe ich beim preloaden auch immer ob getBytesLoaded > 100 ist, da ganz zu Anfang beide Werte 0 sind, dann ist nämlich auch schon deine Bedingung erfüllt. Das hat zwar mit dem Problem nichts zu tun, aber ist vielleicht dennoch ganz interessant.
Also so dann:
PHP:
var l = this.getBytesLoaded ()
var t = this.getBytesTotal ()
if ( t > 100 && l == t )
{
	//fertig
}
 
danke für die antwort

es ist jetzt so gelöst:

Code:
 pfad = "swf/" + dateiname + ".swf";
 stop();
 loadMovieNum(pfad,1);

In dieser Datei stehe nun ein text (preloading oder so)!
Gibt es hier die möglichkeit, noch eine % Ladeanzeige einzubauen?
 
In dieser Datei stehe nun ein text (preloading oder so)!
Gibt es hier die möglichkeit, noch eine % Ladeanzeige einzubauen?
Meinst du mit dieser Datei die, die sich hinter "dateiname" verbirgt oder die, die selbige lädt?
So würde die Funktion in der Datei die den loadMovieNum Befehl hat aussehen:

PHP:
function observeLoad ()
{
	clearInterval ( OBSL )
	var l = _level1.getBytesLoaded ();    
	var t = _level1.getBytesTotal ();
	var p = ( l / t ) * 100;
	if ( p > 0 ) textFeld.text = p + "%"   // pfad zum Textfeld
	if ( t > 100 && l == t )
	{
		trace("fertig mit laden."); 
	} 
	else 
	{
		OBSL = setInterval ( this, "observeLoad", 100 );
	}
}

pfad = "swf/" + dateiname + ".swf";
stop();
loadMovieNum(pfad,1);
observeLoad ();
 
JEHAPA,

Viele Dank für deine Hilfe!
Es klappt mit dem Code, allerdings ist er bei 78% fertig mit laden, denke mal er überholt sich selbst oder so, mal versuchen ob ich das noch hinbekomme! Durch nen kleinen Tricksurrise sogar die weitergabe der SESSION_ID aus dem geladenen swf *freu*!

MERCI
 
Zuletzt bearbeitet:
Zurück