bonjour, j'ai récupéré un code sur internet et après l'avoir décortiqué, j'ai essayé de l'adapter dans un swf, histoire de voir si j'avais bien compris le fonctionnement et si je pouvais m'en servir. C'est un script sur une clé avec un clip qui doit recevoir les images appelé "cadre"et un clip de chargement appelé "loadbar"que je depose dans mon swf principal qui permet de lire dynamiquement des images par le biais d'un xml. Le problème c'est que le script était avec des _root (étant donné qu'il se suffisait à lui même) et j'ai essayé de le convertir d'après ce que j'avais compris pour l'integrer dans un swf (ouh je me répète on dirait)mais ça ne marche pas, il ne lit que les noms des images tirés du xml mais ne chargent pas les images associées:
en rouge mes annotations de ce que j'ai compris et changé :
// variable de position
_root.INDICE = -1;
_root.PIC = new Array();
//préloader du chargement de l'image (mis en _parent pour éviter qu'il ne se base sur le clip principal)
Ec = new Object();
Ec.onLoadProgress = function(MCtarget, loadedBytes, totalBytes) {
_parent.loadbar.percent = Math.floor(loadedBytes*100/totalBytes);
_parent.loadbar.gotoAndStop(_parent.loadbar.percen t);
_parent.loadbar.percent += "%";
};
Ec.onLoadInit = function(MCtarget) {
while (MCtarget._width>_parent.cadre._width or MCtarget._height>_parent.cadre._height) {
MCtarget._xscale -= 1;
MCtarget._yscale -= 1;
}
MCtarget._x = _parent.cadre._x+( _parent.cadre._width-MCtarget._width)/2;
MCtarget._y = _parent.cadre._y+(_parent.cadre._height-MCtarget._height)/2;
_parent.loadbar.gotoAndStop(1);
_parent.loadbar.percent = "";
};
//objet chargement
MCloader = new MovieClipLoader();
MCloader.addListener(Ec);
// appEL de l'XML
MCXML = new XML();
MCXML.load("photos.xml");
MCXML.ignoreWhite = true;
MCXML.onLoad = function(succes) {
function Pic_Desc(n, u) {
this.name = n;
this.url = u;
}
// je croie que c'est sur la ligne du dessus que ça couille (excusez du langage) lorsqu'il defini l'image et sa légende à partir de l'xml
if (succes) {
var i = 0;
while (this.firstChild.childNodes[i] != undefined) {
_root.PIC[i] = new Pic_Desc(this.firstChild.childNodes[i].attributes.nom, this.firstChild.childNodes[i].attributes.url);
i++;
}
_root.MAX = i;
}
};
//boutons appelant les images
B_next.onRelease = function() {
//chargement de l'image selectionnée
_root.INDICE++;
if (_root.INDICE == _root.MAX) {
_root.INDICE = 0;
}
_parent.MCloader.loadClip(_root.PIC[_root.INDICE].url, "_root.holder");
_parent.desc = _root.PIC[_root.INDICE].name;
};
B_previous.onRelease = function() {
//chargement de l'image selectionnée
_root.INDICE--;
if (_root.INDICE<0) {
_root.INDICE = _root.MAX-1;
}
_parent.MCloader.loadClip(_root.PIC[_root.INDICE].url, "_root.holder");
_parent.desc = _root.PIC[_root.INDICE].name;
};
et l'xml :
<?xml version='1.0' encoding='UTF-8' ?>
<root>
<photo nom="photo1" url="01.jpg"/>
<photo nom="photo2" url="02.jpg"/>
</root> // sans commentaire, xml bateau Bon j'ai aussi essayé de passer en dehors des variables, les _root en _parent ou this afin d'éviter qu'il aille s'empêtrer dans le clip principal mais alors ça ne marche plus... donc j'ai juste changé ceux dont j'étais sûr!!!
Si quelqu'un connait la solution, c'est à dire ce qui empêche mon script (positionné sur une clé) de lire mes images (car il lit les noms des images) et si jamais j'ai fait des erreurs d'analyse (mes commentaires en rouge) de me le signaler merci d'avanceeeeeeeeeeeeeeeeeeeeeuh