mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 19:03 Benutzername: Passwort: Auto-Login

Thema: XML vorladen vom 25.10.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> XML vorladen
Autor Nachricht
Flipkick
Threadersteller

Dabei seit: 15.05.2003
Ort: Frankfurt am Main
Alter: 41
Geschlecht: Männlich
Verfasst Do 25.10.2007 09:40
Titel

XML vorladen

Antworten mit Zitat Zum Seitenanfang

Hallo, wi ekan ich denn meien XML vorladen ?

mit diesem preloader erkennt der die bytes nicht ?!?!

Code:

this.onEnterFrame =    function(){

   kartendata = new XML();
   kartendata.ignoreWhite = true;
   kartendata.load("xml/karte_gross.xml");
      
    geladen    =    kartendata.getBytesLoaded();
    gesamt     =      kartendata.getBytesTotal();
   
    prozent    =    geladen * 100 / gesamt;

    if(geladen >= gesamt) {
         this.gotoAndPlay(2);
        delete this.onEnterFrame;
    }
   
}


Bei Bilder functioniert es zwar allerdings nicht bei einer XML. Er bekommt schon die Bytes nicht und springt dann einfahc weiter. SO habe ich das Problem, das manchmal, bzw bei eine rlangsamen Verbindung meine Daten nicht geladen sind.

Danke Seb
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Do 25.10.2007 09:49
Titel

Antworten mit Zitat Zum Seitenanfang

Du legst in ein onEnterFrame-Beacon eine Funktion.
Die Funktion wird in abhängigkeit der Rechnerperformance und der Framerate des Films ausgeführt.

In deinem Script erzeugst Du ein XML-Objekt und löädst da was rein. JEDES MAL. Du überschreibst dein Object und lädst was.

Du must EINMAL ein Object erzeugen, EINMAL laden, und dann kannst Du prüfen wieviel geladen ist. Aber mach das per setInterval und nicht mit onEnterFrame
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Flipkick
Threadersteller

Dabei seit: 15.05.2003
Ort: Frankfurt am Main
Alter: 41
Geschlecht: Männlich
Verfasst Do 25.10.2007 10:17
Titel

Antworten mit Zitat Zum Seitenanfang

Hm ich dachte "new XML" istd ann schon ein Object ?
was ich auch nicht versteh, warum ein setInterval, das ist doch zeitabhängig oder ? warum kann man da keine function schreiben ?

Code:
function xmlauslesen(){
....
}
xmlauslesen();



hmmm aber einen richtig Ansatz hab ich immernoch nicht, ich steh da grad ein bissl auf dem Schlauch oder hab zu wenig Erfahrung...kann ich dann noch mit getBytesload arbeiten ja oder ?

danke seb * Ööhm... ja? *


Zuletzt bearbeitet von Flipkick am Do 25.10.2007 10:18, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Flipkick
Threadersteller

Dabei seit: 15.05.2003
Ort: Frankfurt am Main
Alter: 41
Geschlecht: Männlich
Verfasst Do 25.10.2007 10:32
Titel

Antworten mit Zitat Zum Seitenanfang

ist der ansatz den auch ok, oder ergeben sich da nachteile ?

Code:

//frame 1:
myXML = new XML();
myXML.load("xmldoc.xml");


//frame2:
streamed = myXML.getBytesLoaded();
total = myXML.getBytesTotal();
pc.text = parseInt(100*streamed/total) + "%"; // For dynamic text box variable
if (myXML.loaded) gotoAndStop(4);

//frame3:
gotoAndPlay(2);
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Flipkick
Threadersteller

Dabei seit: 15.05.2003
Ort: Frankfurt am Main
Alter: 41
Geschlecht: Männlich
Verfasst Do 25.10.2007 10:45
Titel

Antworten mit Zitat Zum Seitenanfang

OK ich hab das Problem entdeckt, er läd nun meien XML komplett und spring dann in das letzt eFram, wo er die XML aufbaut

Code:
function bundeland_auslesen(){
   
   var obj_items:Object;
   
   _global.obj_items = kartendata.firstChild.childNodes;
   _global.obj_items_lenght = kartendata.firstChild.childNodes.length;
}


jetzt kann ich allerdings kartendata noch tracen, aber nicht mehr, wenn ein Firstchild dranhängt ?!?! woran liegt das nun, woher hats auch geklappt und die MXL hab ich nicht verändert !=!?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Flipkick
Threadersteller

Dabei seit: 15.05.2003
Ort: Frankfurt am Main
Alter: 41
Geschlecht: Männlich
Verfasst Do 25.10.2007 11:46
Titel

Antworten mit Zitat Zum Seitenanfang

OK denke ich habs nun mit dieser Variante gelöst.

Falls es da noch Einwände gibt kannes ruhig jmd schreiben.

Code:
kartendata = new XML();
kartendata.ignoreWhite = true;

preloader.onEnterFrame = function() {
loaded = kartendata.getBytesLoaded();
total = kartendata.getBytesTotal();
scale = 0;
if (loaded && total) {
percent = loaded*100/total;
scale = percent;
trace(Math.round(percent)+"%");
}
this.progessbar._xscale = scale;
if (percent === 100) {
delete this.onEnterFrame;
}
};
kartendata.onLoad = function(success) {
if (success) {
rootNode = this.firstChild;
trace(rootNode);
gotoAndPlay(2);


} else {
trace("Error");
}
};
kartendata.load("xml/karte_gross.xml");
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Pixelslave

Dabei seit: 09.11.2005
Ort: Augsburg
Alter: 37
Geschlecht: Männlich
Verfasst So 28.10.2007 00:22
Titel

Antworten mit Zitat Zum Seitenanfang

Erm mal son nen generellen hinweis an dich

onEnterFrame ist ein event das dir sämtliche performance zusammenfressen kann *balla balla*

benutzte lieber setInterval das ist einfacher.

das nächste ist das du es dir ganz leicht machen kannst mit den sog. Broadcastern.

Und prozent === 100 Prozent ist sehr schwammig da du deine Zahlen aufrundest und du da nie nen richtiges ergebnis haben wirst. Ist bei kleinerer Datenmenge egal aber bei großen kann das durchaus probleme bereiten.

Die if ( protent === 100 ) ... kanste dir sparen da dein XML object 3 EventHandler hat mit denen es dir sagt das dat ding komplett geladen is und zwar sind das die:

onData
onLoad
onHttp

bei deinem ersten versuch konnte das garnicht gehen da du das xml.load in eine onEnterFrame aktion gepackt hast -> bei 24fps wird xml.load 24 mal pro sekunde ausgeführt... würde ich dann bei deinem image dingens nochmal anschauen, da du ja meintest es geht dort.

Öfter mal F1 drücken und die AS Lib anschauen * Such, Fiffi, such! *


grüße * Applaus, Applaus *
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Flipkick
Threadersteller

Dabei seit: 15.05.2003
Ort: Frankfurt am Main
Alter: 41
Geschlecht: Männlich
Verfasst So 28.10.2007 16:31
Titel

Antworten mit Zitat Zum Seitenanfang

boah subba Hilfe, danke....

wie funtioneirt denn das Set Interval genau ? OK onEnterFrame führst zich und aber mal aus wenn er startet und on setIntervall geht mitder Zeit oder wie ?

durch die LIB geh ich als erstes, aber man weiß ja nie nach welche Stichwort man sucht bzw, da bekomt man nicht erklärt, was besser als das wäre, bzw warum es besser ist.

Danke
Seb
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Vorladen von Bildern im CSS
Bilder 1x vorladen
Externe SWFs vorladen
Vorladen von Quicktime-Movie
Ajax - Bilder vorladen
alle bilder vorladen - gallery
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.