Andreas Waldheim
Grünschnabel
Ich habe eine swfDatei auf meiner DreamweaverSeite installiert.
Sie ist leer, abgesehen von zwei Steuerelementen (vorw./rückw.)
Diese möchte ich mit Bildern über eine xmlDatei füllen.
Allerdings möchte ich ihr unterschiedliche xmlDateien zuweisen können.
Konkret einem Namen jeweils ein paar Bilder.
Ich habe eine Ur-xml namens gallery, die verschiedene Events auflistet. In diesen ist dann ein Name, und ein Verweis auf eine für den Flashplayer bestimmte xml, die diesen mit dazugehörigen jpgs füllen soll.
Etwa so -
<?xml version="1.0" encoding="UTF-8"?>
<gallery>
<event>
<name>Gustav</name>
<film>flash/bilddaten1.xml</film>
</event>
<event>
<name>Knut</name>
<film>flash/bilddaten2.xml</film>
</event>
</gallery>
die xml Gustav (bilddaten1) für die swf sähe etwa so aus -
<?xml version"1.0"?>
<Bilder>
<Bild name=bilder/BILD1.JPG></Bild>
<Bild name=bilder/BILD2.JPG></Bild>
</Bilder>
die für Knut -
<?xml version"1.0"?>
<Bilder>
<Bild name=bilder/BILD3.JPG></Bild>
<Bild name=bilder/BILD4.JPG></Bild>
</Bilder>
Ich will dann in Dreamweaver in einer SpryWidgetTabelle die NameZeile (<name>Gustav</name>) einem Button zuweisen.
Dieser weist dann der swf die filmZeile ( <film>flash/bilddaten1.xml</film>) zu,
die dann die swf entsprechen füllen soll.
Wie bringe ich jetzt die swf dazu, sich verschiedene xmlDateien zuweisen zu lassen?
Das vorhandene actionscript verweist auf eine statische xml, die natürlich leiderleider immer den gleichen Inhalt transportiert.
Das Adressieren der Bereiche <name><name/>, resp <film><film/> hängt glaubich mit den childNodes zusammen. Ich kenne ich mich aber nicht genug mit actionscript aus.
// 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 = 0;
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);
}
};
Die Ur-swf stammt aus dem Buch Flash8 Powerworkshops und ist freeware.
Falls das mit dem Spry unverständlich sein sollte, hier eine URL zu einem Workshop, wo
so ein Konstrukt erklärt wird, allerdings für den Transport einzelner jpgs in einen placeholder.
http://www.adobe.com/de/designcenter/video_workshop/?id=vid0166
schönen Gruß
Andreas
Sie ist leer, abgesehen von zwei Steuerelementen (vorw./rückw.)
Diese möchte ich mit Bildern über eine xmlDatei füllen.
Allerdings möchte ich ihr unterschiedliche xmlDateien zuweisen können.
Konkret einem Namen jeweils ein paar Bilder.
Ich habe eine Ur-xml namens gallery, die verschiedene Events auflistet. In diesen ist dann ein Name, und ein Verweis auf eine für den Flashplayer bestimmte xml, die diesen mit dazugehörigen jpgs füllen soll.
Etwa so -
<?xml version="1.0" encoding="UTF-8"?>
<gallery>
<event>
<name>Gustav</name>
<film>flash/bilddaten1.xml</film>
</event>
<event>
<name>Knut</name>
<film>flash/bilddaten2.xml</film>
</event>
</gallery>
die xml Gustav (bilddaten1) für die swf sähe etwa so aus -
<?xml version"1.0"?>
<Bilder>
<Bild name=bilder/BILD1.JPG></Bild>
<Bild name=bilder/BILD2.JPG></Bild>
</Bilder>
die für Knut -
<?xml version"1.0"?>
<Bilder>
<Bild name=bilder/BILD3.JPG></Bild>
<Bild name=bilder/BILD4.JPG></Bild>
</Bilder>
Ich will dann in Dreamweaver in einer SpryWidgetTabelle die NameZeile (<name>Gustav</name>) einem Button zuweisen.
Dieser weist dann der swf die filmZeile ( <film>flash/bilddaten1.xml</film>) zu,
die dann die swf entsprechen füllen soll.
Wie bringe ich jetzt die swf dazu, sich verschiedene xmlDateien zuweisen zu lassen?
Das vorhandene actionscript verweist auf eine statische xml, die natürlich leiderleider immer den gleichen Inhalt transportiert.
Das Adressieren der Bereiche <name><name/>, resp <film><film/> hängt glaubich mit den childNodes zusammen. Ich kenne ich mich aber nicht genug mit actionscript aus.
// 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 = 0;
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);
}
};
Die Ur-swf stammt aus dem Buch Flash8 Powerworkshops und ist freeware.
Falls das mit dem Spry unverständlich sein sollte, hier eine URL zu einem Workshop, wo
so ein Konstrukt erklärt wird, allerdings für den Transport einzelner jpgs in einen placeholder.
http://www.adobe.com/de/designcenter/video_workshop/?id=vid0166
schönen Gruß
Andreas