preloader nicht im gleichem swf

oaki

Erfahrenes Mitglied
Hallo!

Ist es grundsaetzlich moeglich das ich ein swf in einen Movieclip lade und den Forschritt des Ladens (also den Preloader) nicht im zuladenden swf sondern im Hauptfilm anzeigen lassenkann?

In anderen Worten das ich meinen Preloader so programmieren kann das er nicht auf den Film zugreift wo er drin steckt, sondern dass er die Info von dem Film holt den ich mit loadmovie() reinlade.

Ist sowas moeglich?
 
Ja, das ist möglich.
Ein "normaler" Preloader kann ja z.b. so aussehen:
Code:
this.onEnterFrame = function()
{
   var t = this.getBytesTotal()
   var l = this.getBytesLoaded()
   var p = int ( (l/t) * 100 )
   if ( t == l )
   {
      delete this.onEnterFrame
      gotoAndStop("fertig")
   }
}

Je nach dem wohin Du eine Swf lädst, musst du nur den Pfad zu getBytesTotal() & getBytesLoaded() richtig setzen.

Also wenn du z.B. eine Swf in einen MovieClip lädst, sähe das so aus:
Code:
container.loadMovie ( "deine.swf" )
this.onEnterFrame = function()
{
   var t = container.getBytesTotal()
   var l = container.getBytesLoaded()
   var p = int ( (l/t) * 100 )
   if ( t == l && t > 100 )
   {
      delete this.onEnterFrame
      gotoAndStop("fertig")
   }
}
Sofern du eine Swf in ein Level lädst sieht das dann so aus:
Code:
loadMovieNum ( "deine.swf", 23 )
this.onEnterFrame = function()
{
   var t = _level23.getBytesTotal()
   var l = _level23.getBytesLoaded()
   var p = int ( (l/t) * 100 )
   if ( t == l && t > 100 )
   {
      delete this.onEnterFrame
      gotoAndStop("fertig")
   }
}

( Generell würde ich bei nachgeladenen Swfs nicht nur Prüfen ob % == 100 oder Total == Loaded ist, sondern auch ob getBytesTotal() > (z.b.)30 sind, da für Flash eine Swf, dessen Größe (Content-Length) noch nicht bekannt ist irgendwas um die 30 Byte groß ist.
So kann es, wenn auch sehr selten, vorkommen, das die Bedingung "% == 100 && BytesTotal() == BytesLoaded()" schon erfüllt ist, bevor Flash überhaupt weiß wie groß die Datei ist. )
 
nochmals schnell ne Frage:

Was ich nicht verstehe ist wieso ich 2 mal loadMovie benutzen soll bzw. 1 Mal loadMovie() und das 2. Mal loadMovieNum() ?

Das erste Mal lade ich ja den Movie in einen MC und das zweite Mal in einen Level!

und warum soll ich den Film 2 Mal laden?
 
Hallo,

du musst den Movie nicht zweimal laden, sondern das sind zwei Beispiele, eines für den Fall, dass du mit levels arbeitest, das andere für den normalen Gebrauch.

gruss
 
hehe, ich bin so ein idiot.. Hab das irgendwie nur so halbpatzig betrachtet :rolleyes:
logisch, danke trotzdem :p
 
Zurück