ciao a tutti.
il mio problema è che devo realizzare un sito in flash... lo sfondo di questo sito non è fisso, ma ci sono delle immagini che scorrono una sull'altra.
io ho fatto tutti gli elementi che mi servono (pulsanti ecc) e poi ho aggiunto un codice che mi permette di richiamare le immagini (quelle dello sfondo) con l'xml.
il tutto funziona... non fosse che lo sfondo sta in primo piano mentre tutti gli altri elementi restano dietro. ho visto che nel codice c'è una parte che si riferisce allo "zpos" ma io non riesco a farlo funzionare... ho provato a mettere il valore nell'xml delle immagini e nel codice di flash ma nn c'è stato niente da fare... qualcuno puö aiutarmi o almeno spiegarmi cosa sbaglio???
Aggiungo qui sotto tutta la parte di codice che riguarda lo sfondo.
GRAZIE A TUTTI
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)
//swapDepths
// load xml
images_xml = new XML();
images_xml.ignoreWhite=true;
images_xml.onLoad = parse;
images_xml.load ("images.xml")
//images_xml.load(_root.xmlFile);
function parse(success) {
if (success) {
trace('pippo');
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);
_global.zpos = Number(this.firstChild.attributes.zpos);
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;//_global.ypos;
container_mc._z = "-100"//"-100"
// parse array
imageArray.reverse();
imageGen(imageArray);
} else {
trace('problem');
}
}
// depth swapping
function swapPlace(clip,num) {
eval(clip).swapDepths(eval("container_mc.loader"+n um+"_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._x=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);//1
alphaTween = new mx.transitions.Tween(thisLoader, "_alpha", mx.transitions.easing.Regular.easeOut,0,100,_globa l.fadetime,true);
xTween = new mx.transitions.Tween(thisLoader, "_x", mx.transitions.easing.Regular.easeOut,-800,0,_global.fadetime,true);//800
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();
}

Rispondi quotando
