Preloader zeigt mit getTotalBytes eine falsche Bytezahl an

Marius Heil

Erfahrenes Mitglied
Hi,

ich hab meine Homepage etwas umstrukturiert und lade die swf Dateien jetzt mit nem externen Preloader, da meine internen Preloader erst immer auftauchen wenn schon soundsoviel Prozent geladen sind.
Jetzt zeigt mit allerdings getTotalBytes immer ne zu große Bytezahl an, die datei profil.swf hat bei zB im Explorer 22 KB, der Preloader meint nun aber, es wären 44 KB,....
Genauso mit vielen anderen, dann hab ich mal ne ziemlich große swf mit 1,3 MB geladen, da hat er es beinahe richtig angezeigt.
Da ich immer druaf schau alles so klein wie möglich zu halten, muss ich da irgendwas machen.
An was könnte das denn liegen?
(Ich hab mich bei dem Preloader an dem von Datic orientiert ;) das hat mir einige Schreibarbeit erspart, danke nochmal an dieser Stelle :) )


Marius
 
Hi,

es heisst "getBytesTotal", nicht "getTotalBytes". ;)

Ansonsten: Kann es sein, dass Du Dein Laufwerk irgendwie komprimiert hast (Windows-Einstellung), so dass Du eine abweichende Dateigröße im Explorer angezeigt bekommst? Was sagt der Flash-interne Bandbreiten-Profiler?

Gruß
.
 
Hi,

mhhh, in der Eile vertippt :D hatte nur noch 5 min bis der Zug kam^^
Mein Laufwerk hab ich nicht kompremiert, alles ganz normal, in Flash bekomm ich auch die Dateigröße angezeigt, die der Explorer anzeigt.
Hab keine Idee, was das sein könnte,...


Marius
-----
Jetzt hab ich noch ein Problem, ich benutz in meinen Flashfilmen ziemlich oft _root um auf irgendwelche Sachen zuzugreifen, da ich das in bestimmten Fällen bevorzuge.
Nun hätte ich die möglichkeit alle _root durch _root.dest zu ersetzen oder ich benutze _lockroot.
Ich probiere allerdings alls Flashdateien kompatibel zu Flash 6 zu halten, und da gabs _lockroot offenbar noch nicht.
Dann hatte ich vor, die aktuelle swf durch die hinzugeladene zu ersetzen, was mit loadMovieNum gehen würde, da kann ich blöderweise offenbar den Downloadfortschritt nicht überwachen, was nur mit dem MovieLoader Objekt geht, welches es auch erst seit Flash 7 gibt,...
Was mach ich da am besten?


Marius
 
Zuletzt bearbeitet:
Hi,

was dein _root-Problem angeht, wird dir wohl nichts anderes übrig bleiben als die absoluten _root Pfade gegen die relativen _parent Pfade auszutauschen.

Wenn du auf MC´s zugreifen willst, die sich in deiner Entwicklungsumgebung befinden dann kannst Du das ganz einfach mit dem Pfad-Tool in der ActionScript-Expertenansicht machen, indem Du per Radio-Button auf relative Pfade umstellst.

Um eine externe Swf in den Hauptfilm zu laden, so dass dieser den Hauptfilm ersetzt musst du einfach den Film in die Stufe 0 hineinladen:

PHP:
loadMovie ("extern.swf", 0);

Cheers
 
@Krieter2: Mit loadMovie kannst Du nichts in Stufen laden, dazu dient loadMovieNum.

@Marius Heil: Ab Flash 7 kann ich zumindest auch für Stufen die geladenen Bytes abfragen. Bei Stufe 2 (loadMovieNum("film", 2)) z.B. so:
Code:
trace(_level2.getBytesLoaded());
Probier mal aus, ob das in Flash 6 auch funktioniert.

Gruß
.
 
hmm - obwohl die Referenz etwas anderes behauptet, muss ich Dir recht geben: Es scheint tatsächlich zu funktionieren, sofern Du die globale Funktion "loadMovie" verwendest. Aus Gründen der Übersichtlichkeit und der Versionssicherheit würde ich dennoch für Stufen loadMovieNum verwenden. ;)

Gruß
.
 
Hi,

nachdem ich jetzt ein paar Tage nicht mehr weiterprogrammiert habe aufgrund meines Films, bei dem ich nun endlich auch ein DVD Menü mit allem drum und dran hab, hab ich mich jetzt wieder an den Preloader gesetzt und ihn so umgebaut, dass er die swf einfach in eine Stufe läd, das sieht nun vielversprechend aus, ich konnte die Pfade alle so lassen, wie sie sind und der Ladestatus wird auch korrekt angezeigt, aber es wurmt mich trotzdem, dass er die Dateigröße falsch anzeigt,...
Ihr könnt euch unter http://funfury.freewebsitehost.net/ als testbenutzer einloggen und dann mal auf
http://funfury.freewebsitehost.net/basis.php?seite=herausfordern gehen, daraufhin läd er die Herausfordern swf, welche er mit ca 140 KB anzeigt, in wirklichkeit hat die Datei aber 114 KB,.... Na gut, die Datei ist überdimensioniert, die muss ich unbedingt noch verkleinern, aber zb bei der Rangliste oder so zeigt er dann auch 30 KB oder so zu viel an, wodurch sie quasi 4 mal so groß ist,.... Find ich etwas störend.


Marius
----
Noch ne kleine Frage zu Leveln.
Ich hab jetzt die Nachgeladene swf in Level 2 geladen, nun liegt die aber über dem Rahmen in Level0, hab ich ne möglichkeit den per attachMovie oder per swapDepths in Level 5 zu schicken, dass er darüber liegt?

Marius
 
Zuletzt bearbeitet:
Hi,

um die Frage nochmal aufzugreifen, kann ich innerhalb eines SWF Films einen MovieClip in ein anderes Level verschieben?


Marius
 
Hi,

Du verwechselst die Begrifflichkeiten:mad: - Von Leveln bzw. Stufen spricht man nur im Zusammenhang mit dem Hineinladen von swf´s.

Die Methode swapDepth ist nur auf Movieclips anzuwenden. Bei MC´s spricht man hierbei von Tiefen.

Gib doch einfach mit der Methode createEmptyMovieClip die Tiefe im 2. Parameter an:

PHP:
on (release){
	 this.createEmptyMovieClip("container_mc",1)      // in diesem Fall Tiefe 1
	container_mc._x = 20                                         // Positionierung
	container_mc._y = 103                                       // Positionierung
	container_mc.loadMovie("externe.swf");
		}

Die andere swf kannst Du auf eine höhere Tiefe legen. Wenn Du die gleiche Tiefe wählst, wird der vorherige MC ersetzt.

Cheers
 

Neue Beiträge

Zurück