Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-10-2003, 01:20   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2003
Ort: Dessau/SA
Beiträge: 9
Post Prob. mit dynam. Preloader [xml's / swf]

Schönen guten abend,

ja.. nicht schon wieder dieses leidige Thema. Aber Tutorials oder fla's zu diesem Fall habe ich leider noch nicht gesehn.

Nun zum Problem. In meinem Preloader sind ein Balken sowie "Kästchen" a la checkbox enthalten. Diese stehen für die Art von zu ladenen Dateien. Ich möchte mit ihm eine beliebige Zahl von XML laden (und diese gleich als XML() ablegen) als natürlich auch eine externe swf in einen Container. Leider funktioniert außer des ladens der XML-Dokumente, und die Anzeige welche Anzahl geladen wurden, schon seit einigen Tagen nichts. Da ich nun wirklich kein Crack bin .. hoffe ich auf eure Hilfe.

Hier nun der code. Die comments sollten eigentlich alles erklären.

ActionScript:
  1. // function zum Ausgeben des Akutuellen Ladevorgangs
  2. function loadMainStat(type){
  3.     if(percent == 100){
  4.         delete this.onEnterFrame;
  5.         // checkboxen im preloader werden auf 'geladen' gesetzt
  6.         _root.mc_preloaderBig['mc_checkBox_' + type].gotoAndStop(6);
  7.         // wenn der clip fertig geladen ist .. dann spiel ihn ab
  8.         if(type == 'clip'){
  9.             _root.mc_main.gotoAndPlay(2);
  10.             _root.mc_preloaderBig.removeMovieClip;
  11.         }
  12.     }else{
  13.         // wenn der Ladevorgang noch nicht abgeschlossen ist .. dann update den Statusbalken
  14.         _root.mc_preloaderBig.mc_bar.mc_bar_main._xscale = percent / 2;
  15.         _root.mc_perloaderBig.mc_bar.mc_bar_end._x = _root.mc_preloaderBig.mc_bar.mc_bar_main._width + 3;
  16.     }
  17. }
  18. // function zum Laden der XML-Dokumente, sowie des Clips
  19. function loadMain(name, xmlDocs){
  20.     /* XML */
  21.     // Anzahl der XML-Dokumente ermitteln
  22.     iXML = xmlDocs.length;
  23.     // Schleife um die einzelnen Dokumente zu laden.. und sie als Obj. im mc_varXMl zu hinterlegen
  24.     for(i = 0; i < iXML ; i++){
  25.         xmlPath = _root.mc_varXML;
  26.         xmlPath[xmlDocs[i] + 'XML'] = new XML();   
  27.         xmlPath[xmlDocs[i] + 'XML'].ignoreWhite = true;
  28.         xmlPath[xmlDocs[i] + 'XML'].load('xml/' + xmlDocs[i] + '.xml');
  29.         this.onEnterFrame = function(){
  30.             loadedXML = this.getBytesLoaded();
  31.             totalXML = this.getBytesTotal();
  32.             percent = math.floor((loadedXML / totalXML) * 100);
  33.         }
  34.         loadMainStat('xml');
  35.         // Ausgabe der schon geladenen XML-Dokumente
  36.         _root.mc_preloaderBig.txt_stat_xml.text = i + 1 + '/' + iXML;
  37.     }
  38.     /* Clip */
  39.     // laden der swf
  40.     loadMovie('ext/main/' + name + '.swf', 'mc_main');
  41.     this.onEnterFrame = function(){
  42.         loadedClip = this.getBytesLoaded();
  43.         totalClip = this.getBytesTotal();
  44.         percent = math.floor((loadedClip / totalClip) * 100);
  45.     }
  46.     loadMainStat('clip');
  47. }
  48. // Beispiel zur Einbindung der Funktionen (..beim starten des films)
  49. createEmptyMovieClip('mc_varXML',5);                                                                                                                                                    
  50. attachMovie('mc preloaderBig','mc_preloaderBig', 30, {_x:90 , _y:375});
  51. xmlDocs = new Array('news','webnews');
  52. loadMain('news', xmlDocs);
__________________
blub!
3k-pure ist offline   Mit Zitat antworten
Alt 25-10-2003, 08:13   #2 (permalink)
[Ernst Reiter]
 
Benutzerbild von Scrawer
 
Registriert seit: Jul 2001
Ort: austria
Beiträge: 3.691
also das problem sind deine this.onEnterFrame... du solltest dir bewusst sein das es in einer timeline (MC) immer nur ein onEnterFrame zur selben zeit geben kann!!!!!
sprich immer wenn du eines setzt wird das alte gelöscht...
daher ist es in einer for schleife this.onEnterFrame zu erzeugen recht witzlos
was mich noch verwirrt ist.. warum eigentlich this? du musst ja für jedes xml object sein eigenes onEnterFrame erstellen damit du auch die werte getBytes.... abfragen kannst und dann auf das ziel des xml objects angaben... aber am besten erstellst gleich im xmlObject ein onEnterFrame dann kannst innerhalb wieder mit this arbeiten.....
xmlPath[xmlDocs[i] + 'XML'].onEnterFrame = function(){...
sollte da schon mal helfen

was ich nun gar nicht verstehe.... ist dein loader.... ist der dafür ausgelebt zeitgleich mehrere Datein zu preloaden? denn bei dir ist ja das der fall......
und noch eine Info... beim XML Object hättest du auch den callBack onLoad.. zur verfügung..... und evtl.. wäre prototype auch nicht so verkehrt als weiteres schlagwort.. um das ganze besser zu strukturieren

ich hoffe die ansätze helfen dir schon weiter... leider fehlt mir nun ein wenig die zeit mich da voll rein zu denken.....

wenn du nicht weiter kommst... poste doch ein test bsp. inkl test files (xml, mc's) dann könnte man das schnell umbauen...
__________________
Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen
m.f.g Scrawer (www.thinkspace.at)
Scrawer ist offline   Mit Zitat antworten
Alt 25-10-2003, 11:00   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2003
Ort: Dessau/SA
Beiträge: 9
Genau das mit dem onEnterFrame ist mir bei meiner Fehlersuche (extreme auscommenting) schon aufgefallen. Aber in o'reillys as-referenz stand dazu nichts. So, nun aber genug mit den Ausreden.

Zitat:
daher ist es in einer for schleife this.onEnterFrame zu erzeugen recht witzlos
Aber eigentlich brauch ich das onEnterFrame auch garnicht mehr. Wenn die Schleife weiter läuft, ist das XML() ja fertig geladen/erstellt. Egal, das mit dem
ActionScript:
  1. xmlPath[xmlDocs[i] + 'XML'].onEnterFrame = function(){ mach was
  2. }
wird gleich getestet.

Mein Loder (function loadMainStat(type)) ist eigentlich nur für beide typen (xml() / swf) ausgelegt. Da er an den einzelnen positionen ausgeführt wird, dachte ich eigentlich das alles fein und brav nacheinander geladen wird. Da dies ja nicht der fall zu sein scheint .. werde ich wohl alles noch in eine if(xmlLoaded == true) Abfrage setzen müssen.. und immer den Status checken. Ja, die onEnterFrames bringen mich hier um meinen Schönheitsschlaf. Mein eigentliches Ziel war eigentlich nur ein Preloader der sich nur im 1f des _root befindet. Aber irgendwie hab ich mich scheinbar total verrannt.

greetz 3k!
__________________
blub!
3k-pure 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 04:00 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele