Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-12-2003, 00:30   #1 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
[stuff]extern-preload mal anders

hi forum,
ist bald weihnachten...naja

also, hab mich heute abend mal rangesetzt und einen preloader
gebaut, der zuerst den hauptcontent lädt und über ein xml-file
die möglichkeit bietet, so ziemlich alles vorzuladen, was man so
in einem film laden kann.

*.swf
*.xml
*.txt
*.jpg
*.mp3
(mehr weiß ich nicht "g")

die nutzung von dem teil ist simpel,
aus der lib auf die bühne in frame 1,
ab frame 2 der content.
ok....ein wenig as ist doch dabei...ein stop() in frame 1

das beiliegende xml-file ist die "datenbank" für die externen
dateinamen, einfach eintragen und fertig (mit jedem gängigen texteditor)
die xml-datei "file_verzeichnis" muß im selben ordner liegen wie
die hauptfilm-swf, alle anderen (externen) dateien müssen
in einem ordner "content" auch bei der swf liegen.

ich hab mal *.txt und *.xml mit reingenommen,
weil's spaß macht, kann jeder selber entscheiden, ob er seine
xml/txt dateien vorlädt, oder nicht.

hab auch manchmal das gefühl, daß flash ein wenig mogelt,
ist aber eigentlich egal, sieht im preloader mal schick aus, wenn
die balken für die txt's oder xml's auf 100 flutschen .

ok, hier mal das script aus dem loader-mc, ist noch unkommentiert und auch nicht optimiert, muß ich morgen erst mal aufräumen.

ActionScript:
  1. button.onPress=function()
  2. {
  3.     getURL("http://www.flashforum.de/forum/index.php","BLANK")
  4. }
  5.  
  6. hauptload=function()
  7. {
  8.    files.text="main"
  9.    _root.onEnterFrame=function()
  10.    {
  11.       var r_ist=_root.getBytesLoaded()
  12.       var r_soll=_root.getBytesTotal()
  13.       var r_proz=Math.ceil(r_ist/r_soll*100)
  14.       all.text=r_soll+" b "
  15.       stat.text=r_proz
  16.       totaldone.text=r_ist+"  b"
  17.       if(r_ist>=r_soll)
  18.       {
  19.           delete this.onEnterFrame
  20.           todo.text=newline+newline+newline+"   searching files..."
  21.           inter = setInterval(function () {
  22.             clearInterval(inter);
  23.             delete inter;
  24.             todo.text=""
  25.             go()
  26.         }, 2000);
  27.       }
  28.    }
  29. }
  30.  
  31. hauptload()
  32.  
  33.  
  34.  
  35. var ebene=0
  36. var arr=[]
  37. var sizearr=[]
  38. var w=this.createEmptyMovieClip('watcher',101)
  39. var count=0
  40. stat.text="0"
  41. totaldone.text="0"
  42.  
  43. function go()
  44. {
  45. m.load('file_verzeichnis.xml')
  46. }
  47.  
  48.  
  49. m=new XML()
  50. m.ignoreWhite=true
  51. m.onLoad=function(ok)
  52. {
  53.     if(ok)
  54.     {
  55.         var fc= "firstChild"
  56.         var cn= "childNodes"
  57.         var l=this[fc][cn].length
  58.         for(var i=0;i<l;i++)
  59.         {
  60.             var l1=this[fc][cn][i][cn].length
  61.             for(var j=0;j<l1;j++)
  62.             {
  63.                 ebene ++
  64.                 files.text=ebene+"/"+ebene
  65.                 var bez=this[fc][cn][i][cn][j].attributes.name
  66.                 arr.push(bez)
  67.                 build_bars(ebene)
  68.             }
  69.         }
  70.         for(var i=0;i<arr.length;i++)
  71.         {
  72.             todo.text +=arr[i]+newline
  73.         }
  74.         detect(arr[count])
  75.     }
  76. }
  77.  
  78.  
  79. function build_bars(ebene)
  80. {
  81.     this.attachMovie('bar','bar'+ebene,ebene,{_x:10+(ebene*4),_y:193,_yscale:5})
  82. }
  83.  
  84. function delitems()
  85. {
  86.     done.text +=arr[0]+newline
  87.     done.scroll +=1
  88.     arr.splice(0,1)
  89.     todo.text=""
  90.     for(var i=0;i<arr.length;i++)
  91.     {
  92.         todo.text +=arr[i]+newline
  93.     }
  94. }
  95.  
  96. function detect(l_target)
  97. {
  98.     var siz=0
  99.     var str=l_target.substring(l_target.length-3)
  100.     count ++
  101.     if(str=="swf" || str=="jpg")
  102.     {
  103.         var h=this.createEmptyMovieClip('holder',100)
  104.         h.loadMovie("content/"+l_target,0)
  105.     }
  106.     if(str=="mp3")
  107.     {   
  108.         var dummy=this.createEmptyMovieClip('holder',100)
  109.         dummy.s=new Sound()
  110.         dummy.s.loadSound("content/"+l_target,false)
  111.         var h=dummy.s
  112.     }
  113.     if(str=="xml" || str=="txt")
  114.     {
  115.         h=new XML()
  116.         h.ignoreWhite=true
  117.         h.load("content/"+l_target)
  118.     }
  119.    
  120.    
  121.     w.onEnterFrame=function()
  122.     {
  123.         ausgabe.text = "searching : "+l_target
  124.         siz=Math.round(h.getBytesTotal())
  125.         if(siz>1)
  126.         {
  127.             delete this.onEnterFrame
  128.             sizearr.push(siz)
  129.             h.unloadMovie()
  130.             h.removeMovieClip()
  131.             dummy.removeMovieClip()
  132.             h=new XML()
  133.             delete(h)
  134.             if(sizearr.length<arr.length)
  135.             {
  136.                 alltotal +=siz
  137.                 all.text= "tot: "+Math.round(alltotal/1024)+" kb"
  138.                 detect(arr[count])
  139.             }else{
  140.                 alltotal +=siz
  141.                 all.text= "tot: "+Math.round(alltotal/1024)+" kb"
  142.                 count=0
  143.                 loading(arr[count])
  144.             }
  145.         }
  146.     }
  147. }
  148. function loading(l_target)
  149. {
  150.     totaldone.text=""
  151.     var str=l_target.substring(l_target.length-3)
  152.     count ++
  153.     var proz=0
  154.     var siz=0
  155.     var ist=0
  156.     if(str=="swf" || str=="jpg")
  157.     {
  158.         var h=this.createEmptyMovieClip('holder',100)
  159.         h.loadMovie("content/"+l_target,0)
  160.     }
  161.     if(str=="mp3")
  162.     {   
  163.         var dummy=this.createEmptyMovieClip('holder',100)
  164.         dummy.s=new Sound()
  165.         dummy.s.loadSound("content/"+l_target,false)
  166.         var h=dummy.s
  167.     }
  168.     if(str=="xml" || str=="txt")
  169.     {
  170.         var h=new XML()
  171.         h.ignoreWhite=true
  172.         h.load("content/"+l_target)
  173.     }
  174.    
  175.    
  176.     w.onEnterFrame=function()
  177.     {
  178.         ausgabe.text = "loading : "+l_target
  179.         siz=Math.round(h.getBytesTotal()/1024)
  180.         ist=Math.round(h.getBytesLoaded()/1024)
  181.         proz=Math.ceil(ist/siz*100)
  182.         this._parent['bar'+count]._yscale=proz
  183.         ist<1 ? stat.text="" : stat.text=proz;
  184.         ist>1 ? totaldone.text=Math.round(h.getBytesLoaded()/1024)+"  kb" : totaldone.text="";
  185.         if(h.getBytesLoaded()==h.getBytesTotal())
  186.         {
  187.             ausgabe.text ="loaded :"+l_target
  188.             files.text=(ebene-count)+"/"+ebene
  189.             delete this.onEnterFrame
  190.             h.unloadMovie()
  191.             h.removeMovieClip()
  192.             dummy.removeMovieClip()
  193.             delitems()
  194.             if(count<sizearr.length)
  195.             {
  196.                
  197.                 loading(arr[0])
  198.             }else{
  199.                 delete (w)
  200.                 totaldone.text="     all files !"
  201.                 watcher.removeMovieClip()
  202.                 ende()
  203.             }
  204.         }
  205.     }
  206.    
  207. }
  208.  
  209. toup.onPress=function()
  210. {
  211.         todo.scroll -=1
  212. }
  213. todown.onPress=function()
  214. {
  215.         todo.scroll +=1
  216. }
  217. doneup.onPress=function()
  218. {
  219.         done.scroll -=1
  220. }
  221. donedown.onPress=function()
  222. {
  223.         done.scroll +=1
  224. }
  225.  
  226. ende=function()
  227. {
  228.     todo.text=newline+newline+"          well done !"
  229.     done.text=newline+newline+"          well done !"
  230.     ausgabe.text="loaded :  all files"
  231.    
  232.     for(var i in this)
  233.     {
  234.         this[i].removeMovieClip()
  235.         delete (this[i])
  236.     }
  237.         inter = setInterval(function () {
  238.             clearInterval(inter);
  239.             delete inter;
  240.            
  241.             _root.gotoAndPlay(2);
  242.         }, 2000);
  243.    
  244.    
  245. }
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252. //
  253.  


hier die xml:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<files>
       <swf>
	       <file name="start.swf"/>
		   <file name="inhalt.swf"/>
		   <file name="referenzen.swf"/>
	   </swf>
	   
	   <mxml>
	       <file name="news.xml"/>
		   <file name="story.xml"/>
		   <file name="struktur.xml"/>
	   </mxml>
	   
	   <bilder>
	       <file name="bild1.jpg"/>
		   <file name="bild2.jpg"/>
		   <file name="bild3.jpg"/>
	   </bilder>  
	   
	   <texte>
	       <file name="text1.txt"/>
		   <file name="text2.txt"/>
		   <file name="text3.txt"/>
	   </texte>
	      
	   <musik>
	       <file name="hall.mp3"/>
		   <file name="ping.mp3"/>
		   <file name="track.mp3"/> 
	   </musik>  	   
</files>

gleich zum verständnis,
die könnte genauso so aussehen:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<files>
       <alle>
	<file name="start.swf"/>
	<file name="inhalt.swf"/>
	<file name="referenzen.swf"/>
	<file name="news.xml"/>
	<file name="story.xml"/>
	<file name="struktur.xml"/>
	<file name="bild1.jpg"/>
	<file name="bild2.jpg"/>
	<file name="bild3.jpg"/>
	<file name="text1.txt"/>
	<file name="text2.txt"/>
	<file name="text3.txt"/>
	<file name="hall.mp3"/>
	<file name="ping.mp3"/>
	<file name="track.mp3"/> 
       </alle>  	   
</files>

also, nicht so schwer zu benutzen/erstellen.


ok, hier mal ein ankucker:


klick mich


und die zip (&gruß)
Angehängte Dateien
Dateityp: zip loader.zip (6,0 KB, 1291x aufgerufen)

Geändert von warrantmaster (17-12-2003 um 00:31 Uhr)
warrantmaster ist offline   Mit Zitat antworten
Alt 17-12-2003, 00:54   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
warrant - du hast doch Familie oder? Wahnsinn... Groß viel Respekt von das Tom!
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 17-12-2003, 01:07   #3 (permalink)
mort3n
Gast
 
Beiträge: n/a
der muss in vollkommener sozialer isolation leben ....


krass
  Mit Zitat antworten
Alt 17-12-2003, 01:28   #4 (permalink)
funkdisziplin
 
Registriert seit: Jul 2003
Beiträge: 2.790
Thumbs up

der mann spinnt ... na gottseidank

greets ddd
derdiedas ist offline   Mit Zitat antworten
Alt 17-12-2003, 02:46   #5 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
@der_zweite_von_links: ist ja echt klasse

und ich finde es super, wie du den [stuff]-bereich bereicherst.
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 17-12-2003, 03:40   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 16
fettes teil......bekommt von mir die Note 1* !!!!!
__________________
+++ BRSNES IS STILL ALIVE +++
brsnes ist offline   Mit Zitat antworten
Alt 17-12-2003, 04:59   #7 (permalink)
Neuer User
 
Benutzerbild von nachtwut77
 
Registriert seit: Oct 2003
Beiträge: 384
Thumbs up

wow, das sieht sehr gut aus ... werd es mir mal bei zeithaben genauer ansehen!

danke schön!



viele grüsse,
nachtwut77.
nachtwut77 ist offline   Mit Zitat antworten
Alt 17-12-2003, 08:34   #8 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
freut mich, daß es euch gefällt

der muss in vollkommener sozialer isolation leben ....

@sonar & mort3n

naja, nachdem sich die beiden weiblichen familienmitglieder gestern unbedingt rebellierend gegen mich auflehnen mußten
(es wird weihnachten "gg"), hab ich sie mit völliger mißachtung gestraft.... außerdem kann ich um 22 uhr noch nicht pennen,
da geht ja das leben im schlaf vorbei...

@smi
warrantmaster ist offline   Mit Zitat antworten
Alt 17-12-2003, 10:06   #9 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Frankfurt am Main
Beiträge: 94
Sauber!!

*verneig_den_hutzieh*

danke
Tom
Tom(2) ist offline   Mit Zitat antworten
Alt 17-12-2003, 11:46   #10 (permalink)
oldschool
 
Benutzerbild von ne-c-ro
 
Registriert seit: Dec 2002
Ort: Terrok IV
Beiträge: 774
mal wieder was geniales aus warrants schmiede...
da bleibt mir nur ein ehrfurchtvolles riesen DANKESCHÖN...
__________________
carpe noctem
icq-liste
das brush-projekt
ne-c-ro ist offline   Mit Zitat antworten
Alt 17-12-2003, 11:57   #11 (permalink)
dummschnack
 
Benutzerbild von Chino
 
Registriert seit: Mar 2002
Ort: Essen
Beiträge: 1.778
Mann, mann, mann Herr Warrant... So langsam wirst du mir unheimlich...

Sauber!

Gruss, Chino
__________________
» flashbored since 2006
» my band: radioghost
Chino ist offline   Mit Zitat antworten
Alt 17-12-2003, 12:02   #12 (permalink)
Stammgast
 
Benutzerbild von derTOM
 
Registriert seit: Nov 2001
Ort: Linz
Beiträge: 402
Wahnsinn ein echt fettes Teil !!!!
Alle 8ung

m.f.g.derTOM
__________________
m.f.g.derTOM
Eder Thomas | Austria | Linz
derTOM ist offline   Mit Zitat antworten
Alt 17-12-2003, 12:57   #13 (permalink)
doofer Nickname...
 
Benutzerbild von Axel Sartorius
 
Registriert seit: Jul 2001
Ort: Dortmund
Beiträge: 2.337
Thumbs up Respekt!

Zitat:
naja, nachdem sich die beiden weiblichen familienmitglieder gestern unbedingt rebellierend gegen mich auflehnen mußten...
Wenn meine beiden Frauen rebellieren stell ich besser die Rechner aus - könnte sonst einen ziemlich hohen Sachschaden zur Folge haben...

Aber solange beim Plätzchenbacken was für mich abfällt, bin ich's schon zufrieden...
__________________
Q:What happens if we nuke Great Cthulhu?
A: He reforms 20 Minutes later - but now he's RADIOACTIVE!
Axel Sartorius ist offline   Mit Zitat antworten
Alt 17-12-2003, 23:06   #14 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
so, hab das jetz mal ein wenig kommentiert
und gleich mal eine alias-funktion reingebaut.
wenn also jemand nicht unbedingt die echten namen
seiner dateien auf dem screen sehen mag ,
dann geht das wiederum ohne weiteres über die xml.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<files alias="bratwurstbrotdatei" >
       <swf>
	       <file name="start.swf"/>
	       <file name="inhalt.swf"/>
	.....usw
bratwurstbrot erscheint dann in den listen im film als
dateiname zuzüglich einer nummerierung und der original dateiendungen.

ich stell den code nochmal rein,
wegen der kommentierung und der alias-änderungen

ActionScript:
  1. //  pfade auf die zeitleiste des vereinfachen
  2. var mc = this;
  3. //
  4. //  gruß an das flashforum ;)
  5. button.onPress = function()
  6. {
  7.     getURL("http://www.flashforum.de/forum/index.php", "BLANK");
  8. };
  9. //
  10. //+++++++++++++++++  definition des _root-preloaders+++++++
  11. hauptload = function ()
  12. {
  13.     //   anzeige text für das textfeld files (oben)
  14.     files.text = "main";
  15.     //
  16.     //   preload  des mainmovies
  17.     this.onEnterFrame = function()
  18.     {
  19.         var r_ist = _root.getBytesLoaded();
  20.         var r_soll = _root.getBytesTotal();
  21.         var r_proz = Math.ceil(r_ist/r_soll*100);
  22.         all.text = r_soll+" b ";
  23.         stat.text = r_proz;
  24.         totaldone.text = r_ist+"  b";
  25.         if (r_ist>=r_soll)
  26.         {
  27.             delete this.onEnterFrame;
  28.             todo.text = newline+newline+newline+"   searching files...";
  29.             //
  30.             //   verzögerungsinterval um 2 sekunden vor start des extern-preloadings ("go()" )
  31.             inter = setInterval(function () { clearInterval(inter);delete inter;todo.text = "";go();}, 2000);
  32.         }
  33.     };
  34. };
  35. //
  36. //          aufruf des _root-preloaders
  37. hauptload();
  38. //
  39. //          deklaration einiger hilfsvariablen (zähler)
  40. //          sowie der arrays für die zu ladenden contents
  41. //          und des alias-text-arrays
  42. var ebene = 0;
  43. var arr = [];
  44. var sizearr = [];
  45. var aliasarr = [];
  46. var w = this.createEmptyMovieClip('watcher', 101);
  47. var count = 0;
  48. var acount = 0;
  49. stat.text = "0";
  50. totaldone.text = "0";
  51. //
  52. //          startfunction für das xml-laden
  53. //          und somit für das externe laden
  54. function go()
  55. {
  56.     m.load('file_verzeichnis1.xml');
  57. }
  58. //
  59. //+++++++++++++++++++die xml-standardnummer++++++++++++++++++++++
  60. //
  61. //
  62. m = new XML();
  63. m.ignoreWhite = true;
  64. m.onLoad = function(ok)
  65. {
  66.     if (ok)
  67.     {
  68.         //
  69.         //    machen wir es uns einfacher (xml-pfade sind furchtbar lang )
  70.         var fc = "firstChild";
  71.         var cn = "childNodes";
  72.         //
  73.         //    abfrage, ob ihr alias-namen gewählt habt oder nicht
  74.         if (this[fc].attributes.alias != undefined)
  75.         {
  76.              //
  77.              //  wenn ja, dann wird der name in mc.alias , also
  78.              //  im _parent gespeichert (siehe ganz oben )
  79.             mc.alias = this.firstChild.attributes.alias;
  80.         }
  81.         //   länge vom ersten kind in "l" speichern
  82.         var l = this[fc][cn].length;
  83.         for (var i = 0; i<l; i++)
  84.         {
  85.             //  länge der nodes in l1 speichern
  86.             var l1 = this[fc][cn][i][cn].length;
  87.             for (var j = 0; j<l1; j++)
  88.             {
  89.                 //  zähler hochzählen
  90.                 ebene++;
  91.                 //  text anzeige wieviel zu laden sind
  92.                 files.text = ebene+"/"+ebene;
  93.                 //  auslesen der zu ladenden dateinamen
  94.                 var bez = this[fc][cn][i][cn][j].attributes.name;
  95.                 //  die namen in ein array pushen
  96.                 arr.push(bez);
  97.                 //  funktion für das attachen der statusbalken aufrufen
  98.                 build_bars(ebene);
  99.             }
  100.         }
  101.         //
  102.         //       füllen des textfeldes mit den zu ladenden namen
  103.         //       
  104.         for (var i = 0; i<arr.length; i++)
  105.         {
  106.             //    wenn kein alias, dann aus dem namen-array
  107.             if (mc.alias == undefined)
  108.             {
  109.                 todo.text += arr[i]+newline;
  110.             } else {
  111.                 //   wenn alias gewählt, dann geht der fake los
  112.                 //   die dateiendungen "klauen"
  113.                 var str = arr[i].substring(arr[i].length-3);
  114.                 //   das textfeld mit dem alias, einer nummer sowie
  115.                 //   der geklauten dateiendung füllen
  116.                 todo.text += mc.alias+"_"+(i+1)+"."+str+newline;
  117.                 //   die so gebauten strings zur wieder verwendung
  118.                 //   in das alias-array puschen
  119.                 aliasarr.push(mc.alias+"_"+(i+1)+"."+str);
  120.             }
  121.         }
  122.         //       wenn aus der xml alles verarbeitet ist,
  123.         //       dann wird die funktion zum ermitteln
  124.         //       der dateigrößen aufgerufen
  125.         detect(arr[count]);
  126.     }
  127. };
  128. //
  129. // +++++++++++++++   xml ende   ++++++++++++++++++++++++
  130. //
  131. //         ladebalken auf die bühne holen
  132. function build_bars(ebene)
  133. {
  134.     this.attachMovie('bar', 'bar'+ebene, ebene, {_x:10+(ebene*4), _y:193, _yscale:5});
  135. }
  136. //
  137. //+++++++++++++ die steuerung der beiden haupttextfelder
  138. //
  139. function delitems()
  140. {
  141.     // wieder die abfrage nach alias
  142.     acount++;
  143.     if (mc.alias == undefined)
  144.     {
  145.         done.text += arr[0]+newline;
  146.     } else {
  147.         done.text += aliasarr[0]+newline;
  148.     }
  149.     done.scroll += 1;
  150.     //  entfernen der "geladenen" datei-namen
  151.     //
  152.     arr.splice(0, 1);
  153.     aliasarr.splice(0, 1);
  154.     todo.text = "";
  155.     //   neu einlesen
  156.     for (var i = 0; i<arr.length; i++)
  157.     {
  158.         if (mc.alias == undefined) {
  159.             todo.text += arr[i]+newline;
  160.         } else {
  161.             todo.text += aliasarr[i]+newline;
  162.         }
  163.     }
  164. }
  165. //
  166. //
  167. //++++++++++ funktion zur ermittlung der dateigrößen
  168. //     im prinzip wie die eigentliche loader-funktion,
  169. //     daher nicht weiter kommentiert
  170. //
  171. function detect(l_target)
  172. {
  173.     var siz = 0;
  174.     var str = l_target.substring(l_target.length-3);
  175.     count++;
  176.     if (str == "swf" || str == "jpg")
  177.     {
  178.         var h = this.createEmptyMovieClip('holder', 100);
  179.         h.loadMovie("content/"+l_target, 0);
  180.     }
  181.     if (str == "mp3")
  182.     {
  183.         var dummy = this.createEmptyMovieClip('holder', 100);
  184.         dummy.s = new Sound();
  185.         dummy.s.loadSound("content/"+l_target, false);
  186.         var h = dummy.s;
  187.     }
  188.     if (str == "xml" || str == "txt")
  189.     {
  190.         h = new XML();
  191.         h.ignoreWhite = true;
  192.         h.load("content/"+l_target);
  193.     }
  194.     w.onEnterFrame = function()
  195.     {
  196.         if (mc.alias == undefined)
  197.         {
  198.             ausgabe.text = "searching : "+l_target;
  199.         } else {
  200.             ausgabe.text = "searching : "+mc.alias+"_"+count+"."+str;
  201.         }
  202.         siz = Math.round(h.getBytesTotal());
  203.         if (siz>1)
  204.         {
  205.             delete this.onEnterFrame;
  206.             sizearr.push(siz);
  207.             h.unloadMovie();
  208.             h.removeMovieClip();
  209.             dummy.removeMovieClip();
  210.             h = new XML();
  211.             delete (h);
  212.             if (sizearr.length<arr.length)
  213.             {
  214.                 alltotal += siz;
  215.                 all.text = "tot: "+Math.round(alltotal/1024)+" kb";
  216.                 detect(arr[count]);
  217.             } else {
  218.                 alltotal += siz;
  219.                 all.text = "tot: "+Math.round(alltotal/1024)+" kb";
  220.                 count = 0;
  221.                 //   hier ist der aufruf der ladefunktion
  222.                 //   mit übergabe des ersten dateinamens
  223.                 //   könnte auch arr[0] stehen
  224.                 loading(arr[count]);
  225.             }
  226.         }
  227.     };
  228. }
  229. //
  230. //
  231. //++++++++ die ladefunktion+++++++++++++++++++
  232. function loading(l_target)
  233. {
  234.     totaldone.text = "";
  235.     //   dateiendung extrahieren
  236.     //
  237.     var str = l_target.substring(l_target.length-3);
  238.     count++;
  239.     var proz = 0;
  240.     var siz = 0;
  241.     var ist = 0;
  242.     //    je nach dateiendung die entsprechende methode wählen
  243.     //
  244.     if (str == "swf" || str == "jpg")
  245.     {
  246.         var h = this.createEmptyMovieClip('holder', 100);
  247.         h.loadMovie("content/"+l_target, 0);
  248.     }
  249.     if (str == "mp3")
  250.     {
  251.         var dummy = this.createEmptyMovieClip('holder', 100);
  252.         dummy.s = new Sound();
  253.         dummy.s.loadSound("content/"+l_target, false);
  254.         var h = dummy.s;
  255.     }
  256.     if (str == "xml" || str == "txt")
  257.     {
  258.         var h = new XML();
  259.         h.ignoreWhite = true;
  260.         h.load("content/"+l_target);
  261.     }
  262.     //   w ist unser kleiner helfer, der die ganze sache überwacht
  263.     //   siehe ganz oben
  264.     w.onEnterFrame = function()
  265.     {
  266.         //  wieder der alias-kram
  267.         if (mc.alias == undefined)
  268.         {
  269.             ausgabe.text = "loading : "+l_target;
  270.         } else {
  271.             ausgabe.text = "loading : "+mc.alias+"_"+count+"."+str;
  272.         }
  273.         //  klassischer preloader job
  274.         //
  275.         siz = Math.round(h.getBytesTotal()/1024);
  276.         ist = Math.round(h.getBytesLoaded()/1024);
  277.         proz = Math.ceil(ist/siz*100);
  278.         this._parent['bar'+count]._yscale = proz;
  279.         ist<1 ? stat.text="" : stat.text=proz;
  280.         ist>1 ? totaldone.text=Math.round(h.getBytesLoaded()/1024)+"  kb" : totaldone.text="";
  281.         if (h.getBytesLoaded() == h.getBytesTotal())
  282.         {
  283.             // nochmals alias
  284.             //
  285.             if (mc.alias == undefined)
  286.             {
  287.                 ausgabe.text = "loading : "+l_target;
  288.             } else {
  289.                 ausgabe.text = "loading : "+mc.alias+"_"+count+"."+str;
  290.             }
  291.             files.text = (ebene-count)+"/"+ebene;
  292.             delete this.onEnterFrame;
  293.             h.unloadMovie();
  294.             h.removeMovieClip();
  295.             dummy.removeMovieClip();
  296.             //  aufruf der text-aktualisierung
  297.             //  in den beiden haupttextfeldern
  298.             delitems();
  299.             //
  300.             //   wenn noch nicht alle geladen sind
  301.             //   dann ruft sich die funktion selber
  302.             //   wieder auf (heißt rekursiv...:D)
  303.             if (count<sizearr.length)
  304.             {
  305.                 loading(arr[0]);
  306.                 //  wenn doch.....
  307.             } else {
  308.                 totaldone.text = "     all files !";
  309.                 // 
  310.                 //....rufen wir das ende der geschichte auf
  311.                 ende();
  312.             }
  313.         }
  314.     };
  315. }
  316. //
  317. //   scrollbuttons
  318. toup.onPress = function()
  319. {
  320.     todo.scroll -= 1;
  321. };
  322. todown.onPress = function()
  323. {
  324.     todo.scroll += 1;
  325. };
  326. doneup.onPress = function()
  327. {
  328.     done.scroll -= 1;
  329. };
  330. donedown.onPress = function()
  331. {
  332.     done.scroll += 1;
  333. };
  334. //
  335. //++++++++schlußlied++++++++++++
  336. ende = function ()
  337. {
  338.     // textfelder bestücken
  339.     todo.text = newline+newline+"          well done !";
  340.     done.text = newline+newline+"          well done !";
  341.     ausgabe.text = "loaded :  all files";
  342.     //
  343.     //  damit nixx dynamisch erstelltes
  344.     //  mehr rumfliegt...
  345.     for (var i in this)
  346.     {
  347.         //...vernichten wir die ganzen sachen...
  348.         this[i].removeMovieClip();
  349.         delete (this[i]);
  350.     }
  351.     //....und leiten mit einem verzögerungsinterval
  352.     //    den sprung zu frame 2 ein.
  353.     inter = setInterval(function () { clearInterval(inter);delete inter;_root.gotoAndPlay(2);}, 2000);
  354. };
  355. //
  356. //       grüße   // ;)
  357. //
  358.  


hier mal mit alias-namen anschauen

zip&gruß
Angehängte Dateien
Dateityp: zip alias-loader.zip (8,4 KB, 564x aufgerufen)
warrantmaster ist offline   Mit Zitat antworten
Alt 18-12-2003, 00:48   #15 (permalink)
oldschool
 
Benutzerbild von ne-c-ro
 
Registriert seit: Dec 2002
Ort: Terrok IV
Beiträge: 774
gibs doch zu warrant, du lebst eigentlich alleine auf nem berg in einer 5 quadratmeterhöhle mit ner standleitung einem rechner einem kühlschrank und einem bett...

thx
__________________
carpe noctem
icq-liste
das brush-projekt
ne-c-ro 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 19:24 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele