Hallo zusammen,
Ich habe einen Ordner mit 9 Bilder. Diese Bilder lade ich Dynamisch in meine Flash-Datei. Damit das funktioniert, benötige ich eine XML-Datei.
Die Bilder alleine funktionieren. Nun möchte ich aber auch noch Text in ein Dynamisches Textfeld laden. Das heisst, zu jedem Bild ein Titel.
Wie kriege ich diese Titel (z.B. "Wohnsiedlung Hardau II Zürich") in das Flash.
Hier die XML-Datei
PHP-Code:
<gallery timer="5" order="sequential" fadetime="2" looping="yes" xpos="0" ypos="0">
<image path="images/bild_01.jpg" title="Wohnsiedlung Hardau II Zürich" />
<image path="images/bild_02.jpg" title="Allgemeine Gewerbeschule Basel" />
<image path="images/bild_03.jpg" title="Schulanlage Lätten Fällanden" />
<image path="images/bild_04.jpg" title="Wohnsiedlung Bäumlihof Basel" />
<image path="images/bild_05.jpg" title="Heilpädagogische Sonderschule Wohlen" />
<image path="images/bild_06.jpg" title="Berufsbildungszentrum Freiamt Wohlen" />
<image path="images/bild_07.jpg" title="Kantonsschule Wohlen" />
<image path="images/bild_08.jpg" title="Allgemeine Gewerbeschule Basel" />
<image path="images/bild_09.jpg" title="Kantonsschule Wohlen" />
</gallery>
Hier das Script im Flash
PHP-Code:
// set random # variables - each must be 0 for first 'while' loop below
var randomNum = 0;
var randomNumLast = 0;
// parent container
var container_mc = this.createEmptyMovieClip("container", 0);
// movie clip containers
container_mc.createEmptyMovieClip("loader1_mc",2);
container_mc.createEmptyMovieClip("loader2_mc",1);
// preload watcher
this.createEmptyMovieClip("watcher_mc",100);
// load xml
images_xml = new XML();
images_xml.ignoreWhite = true;
images_xml.onLoad = parse;
images_xml.load("images.xml");
function parse(success) {
if (success) {
imageArray = new Array();
var root = this.firstChild;
_global.numPause = Number(this.firstChild.attributes.timer*1000);
_global.order = this.firstChild.attributes.order;
_global.looping = this.firstChild.attributes.looping;
_global.fadetime = Number(this.firstChild.attributes.fadetime);
_global.xpos = Number(this.firstChild.attributes.xpos);
_global.ypos = Number(this.firstChild.attributes.ypos);
var imageNode = root.lastChild;
var s = 0;
while (imageNode.nodeName != null) {
imageData = new Object();
imageData.path = imageNode.attributes.path;
imageArray[s] = imageData;
imageNode = imageNode.previousSibling;
s++;
}
// place parent container
container_mc._x = _global.xpos;
container_mc._y = _global.ypos;
// parse array
imageArray.reverse();
imageGen(imageArray);
} else {
trace('problem');
}
}
// depth swapping
function swapPlace(clip, num) {
eval(clip).swapDepths(eval("container_mc.loader"+num+"_mc"));
}
function loadImages(data, num) {
if (i == undefined || i == 2) {
i = 2;
createLoader(i,data,num);
i = 1;
} else if (i == 1) {
createLoader(i,data,num);
i = 2;
}
}
function createLoader(i, data, num) {
thisLoader = eval("container_mc.loader"+i+"_mc");
thisLoader._alpha = 0;
thisLoader.loadMovie(data[num].path);
watcher_mc.onEnterFrame = function() {
var picLoaded = thisLoader.getBytesLoaded();
var picBytes = thisLoader.getBytesTotal();
if (isNaN(picBytes) || picBytes<4) {
return;
}
if (picLoaded/picBytes>=1) {
swapPlace("container_mc.loader2_mc",1);
alphaTween = new mx.transitions.Tween(thisLoader, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, _global.fadetime, true);
timerInterval = setInterval(imageGen, _global.numPause, data);
delete this.onEnterFrame;
}
};
}
function imageGen(data) {
// random, or sequential?
if (_global.order == "random") {
// choose random # between 0 and total number of images
while (randomNum == randomNumLast) {
randomNum = Math.floor(Math.random()*data.length);
trace(randomNum);
}
loadImages(data,randomNum);
randomNumLast = randomNum;
} else if (_global.order == "sequential") {
// start at 0, increment to total number of images, then drop back to zero when done
if (p == undefined || p == data.length && _global.looping == "yes") {
p = 0;
} else {
break;
}
loadImages(data,p);
p++;
} else {
trace("order attribute in xml isn't correct - must specify either 'random' or 'sequential'");
}
clearInterval(timerInterval);
}
stop();
Wo und wie muss ich den Titel abrufen?
Danke für eure Hilfe.