mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 13:30 Benutzername: Passwort: Auto-Login

Thema: [Tutorial] Einlesen und Verarbeiten von XML-Daten in Flash vom 10.08.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> [Tutorial] Einlesen und Verarbeiten von XML-Daten in Flash
Autor Nachricht
l'Audiophile
Threadersteller

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Mi 10.08.2005 12:07
Titel

[Tutorial] Einlesen und Verarbeiten von XML-Daten in Flash

Antworten mit Zitat Zum Seitenanfang

Ohne Worte ein kleines Kurztutorial zu diesem Thread hier --> Klick


Laden und verarbeiten externer Daten (Bilder, Texte) mit Hilfe von XML.



1. Ordner „XML“ erstellen

2. Darin XML-Datei „newsticker.xml“ mit folgendem Beispielinhalt erstellen

Code:

<?xml version"1.0"?>
  <newsticker>
     <extern tickertext="Das ist irgendein Newslettertext" bildpfad="../bilder/1.jpg"></extern>
     <extern tickertext="Das ist auch irgendein Newslettertext" bildpfad="../bilder/2.jpg"></extern>
  </newsticker>


3. Ordner „Bilder“ erstellen

4. Flash erstellen

Code:

// --> XML-Objekt erzeugen (Bezeichner: mein_xml)
mein_xml = new XML();
// --> Störende Leerzeichen ignorieren
mein_xml.ignoreWhite = true;
//  -->XML-Datei einlesen
mein_xml.load("xml/newsticker.xml");
// --> wenn XML geladen …
mein_xml.onLoad = function(status) {
   if (status && this.loaded) {
      geladen = true;
      // --> verarbeite folgende Funktion
      ladeBild();
   }
};
// --> Funktion, welche die Daten der XML-Datei verarbeitet
// --> erstellt ein Textfeld zur Anzeige des Tickertext und einen Bildcontainer
function ladeBild() {
   this.createTextField("tickertext_txt", 10, 50, 50, 200, 25);
   this.createEmptyMovieClip("bild_mc", 12);
   with (this.bild_mc) {
      _x = 50;
      _y = 150;
   }
   // --> erstes Element
        // --> Ausgelesen wird hier als Beispiel das Attribut „Bildpfad“, welches sich im ersten Knoten des ersten Kindknotens der XML-Datei befindet
   bild = mein_xml.firstChild.childNodes[0].attributes.bildpfad;
   bildname = mein_xml.firstChild.childNodes[0].attributes.tickertext;
   // --> Beispiel für zweites Element   
   // bild = mein_xml.firstChild.childNodes[1].attributes.bildpfad;
   // bildname = mein_xml.firstChild.childNodes[1].attributes.tickertext;
   // --> lade Bild in den Container "bild_mc
   loadMovie(bild, "bild_mc");
   // --> lade Text ins Textfeld "tickertext_txt.text"
   this.tickertext_txt.text = bildname;
}




Ich seh den Jan schon wieder stöhnen. Grins


Gruß PeJot
--> Coder Grins
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Gabris

Dabei seit: 19.08.2005
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 19.08.2005 14:48
Titel

Antworten mit Zitat Zum Seitenanfang

Lassen sich die eingeblendeten Bilder mit dieser Methode auch z.B. zeitlich steuern?
Meinetwegen: Blende JPEG 1 ein, lasse es ein Paar Sekunden / Millisekunden stehen und blende dann das nächste ein, etc. , etc.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
l'Audiophile
Threadersteller

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Fr 19.08.2005 22:57
Titel

Antworten mit Zitat Zum Seitenanfang

Gabris hat geschrieben:
Lassen sich die eingeblendeten Bilder mit dieser Methode auch z.B. zeitlich steuern?
Meinetwegen: Blende JPEG 1 ein, lasse es ein Paar Sekunden / Millisekunden stehen und blende dann das nächste ein, etc. , etc.



Klar geht das – mit „setInterval“.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
tuxedo

Dabei seit: 10.10.2002
Ort: ~/
Alter: 51
Geschlecht: -
Verfasst Sa 20.08.2005 01:23
Titel

Antworten mit Zitat Zum Seitenanfang

ich würde dein tutorial ein wenig flexibler gestalten...
du setzt primär voraus, das die anzahl der objekte bekannt ist...
jedoch wäre es bei einer solchen (newsticker) lösung zb ratsamer,
das ganze flexibler zu halten. sprich, elementlänge der childs
ermitteln, das ganze schleifen und in ein weiterzuverarbeitendes
array pushen. (erweiterbar dann noch mit der funktionalität, die
einzelnen knotenattribute auszulesen und zu verarbeiten)...
ausserdem kannst du dann eine variable definieren, die dem
user beim scripten den ewiglangen pfad erspart...

nur ne anmerkung, pejot...
*zwinker*
  View user's profile Private Nachricht senden
Compumaster

Dabei seit: 13.12.2005
Ort: Koblenz
Alter: -
Geschlecht: Männlich
Verfasst Di 20.12.2005 13:20
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo,

kann mir mal bitte jemand helfen mit dem setintervall?
Ich bekomme den nicht richtig eingebunden.

ich benutze den obigen Code, nur möchte ich die HG-Bilder nicht mit einem Button wechseln, sonder
das soll automatisch passieren wie: lade bild1.jpg für 35 sec, lade dann bildxy für 20 sec usw usw..
ich habe die anweisung der buttons gelöscht und eine setintervall reingesetzt, das haut bislang leider nicht hin.

wo und wie muss ich den setintervall im obigen code einbinden=?

thx
  View user's profile Private Nachricht senden
Compumaster

Dabei seit: 13.12.2005
Ort: Koblenz
Alter: -
Geschlecht: Männlich
Verfasst Di 20.12.2005 15:00
Titel

Antworten mit Zitat Zum Seitenanfang

hier noch einmal der tag der im flash steht:

// XML-Objekt erzeugen (Bezeichner: mein_xml)
mein_xml = new XML();

// Störende Leerzeichen ignorieren
mein_xml.ignoreWhite = true;

// XML-Datei einlesen
mein_xml.load("bilddaten.xml");

// Lesevorgang
mein_xml.onLoad = function(status) {
if (status && this.loaded) {
anzahl = mein_xml.firstChild.childNodes.length;
geladen = true;
aktbild = 0;
ladeBild(aktBild);
}
};

// Funktion, welche die Daten der XML-Datei verarbeitet
function ladeBild(paktBild) {
status_mc._visible = 1;
bild = mein_xml.firstChild.childNodes[paktBild].attributes.pic;
bildname = mein_xml.firstChild.childNodes[paktBild].attributes.name;
loadMovie(bild, "bild_mc");
titel_txt.text = bildname;
}

// Weiter Schalter
weiter_btn.onRelease = function() {
if (geladen && aktbild<anzahl-1) {
aktbild++;
ladeBild(aktBild);
}
};

// Zurück Schalter
zuruck_btn.onRelease = function() {
if (geladen && aktbild>0) {
aktbild--;
ladeBild(aktBild);
}
};





und dieser ist in der xml:

<?xml version"1.0"?>
<Bilder>
<Bild name="Man on Mars - Lunatic Lander" pic="bilder/bild1.jpg"> </Bild>
<Bild name="Pluto City" pic="bilder/bild2.jpg"> </Bild>
<Bild name="Desert of Venus" pic="bilder/bild3.jpg"> </Bild>
<Bild name="Working Mines on Planet Mars" pic="bilder/bild4.jpg"> </Bild>
<Bild name="Movement of the Terraformer" pic="bilder/bild5.jpg"> </Bild>
<Bild name="BOMAG" pic="bilder/bild6.jpg"> </Bild>
<Bild name="BOMAG Giant V2" pic="bilder/bild7.jpg"> </Bild>
</Bilder>
  View user's profile Private Nachricht senden
Hatshot

Dabei seit: 04.12.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 06.12.2007 13:07
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo Leutz,
ich habe folgendes Problem:
Ich will einen Button erstellen, der alle Bilder in einer Zeitschleife durchlaufen läßt.

Kann mir einer dazu einen Tip geben, da ich in der Scripthilfe und in anderen Foren nicht
weiter gekommen bin!

*hu hu huu*

Dank im Voraus
  View user's profile Private Nachricht senden
 
Ähnliche Themen javascript xml einlesen//verarbeiten
XML-Daten in Flash einlesen/abändern/in neuem File speichern
PHP? Daten auslesen/verarbeiten
CMYK-Daten mit PHP verarbeiten
XML-Datei in Flash einlesen
einlesen von xml dateien in flash
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.