Bonsoir,
J'ai créé deux fichiers swf différents insérés dans la même page html :
1) le premier est une galerie de miniatures
2) le deuxième est les photos en grandeur nature
Je voudrais faire en sorte que lorsque l'on clique sur la miniature la photo correspondante grandeur nature s'affiche dans l'autre swf.
Pour ce faire on m'a parlé de la classe Local Connect, j'ai un peu feuilleté la documentation actionscript mais j'ai pas très bien compris comment ça marche, je sais que je dois créer un object comme celà :
[code]var monLocalConnect:LocalConnection = new LocalConnection();
monLocalConnect.connect("print_portfolio");[/code]
print_portfolio étant le nom de mon premier swf
mon code as est le suivant dans mon premier swf :
[code]var PhotoXML:XML = new XML();
//création d'un nouvel objet XML
var PhotoNumber:Number;
var TotalPhotos:Number;
var RootNode:XMLNode;
var index:Number = 0;
var nombre:Number = 0;
loadPhotoXML("print_portfolio_thumb.xml");
//pr que la fonction ne renvoye rien
function loadPhotoXML(filename:String):Void {
PhotoXML.ignoreWhite = true;
//sinon tous les return sont pris en considération
PhotoXML.load(filename);
//chargement du XML
PhotoXML.onLoad = function(success:Boolean):Void {
if (success) {
PhotoNumber = 0;
//initialisation du nombre de photos
RootNode = this.firstChild;
//pour faciliter la navigation dans les noeuds XML
TotalPhotos = RootNode.firstChild.childNodes.length;
//nbre de balises <image> enfant d' <album> dans mon XML
showThumbails(0,"2007");
// fonction à créer pr faire apparaître la 1ère photo
} else {
trace("Problème de chargement du XML !");
}
};
}
function showThumbails(index,year:String):Void {
_root.theyear = year;
var MovieDepthCounter:Number = 10;
var photoHolder:MovieClip;
var xPos:Number;
var yPos:Number = 20;
var photoThumb:String;
var indice:Number = 0;
nombre+= index;
indice = nombre/4;
trace("nombre vaut "+nombre);
trace("index vaut "+index);
trace("indice vaut "+indice);
for (var i:Number = 0; i<RootNode.childNodes.length; i++)
{
if (RootNode.childNodes[i].attributes.year == year)
{
var CategoryXML:XMLNode = RootNode.childNodes[i];
TotalPhotos = CategoryXML.childNodes.length;
trace(year+" has "+TotalPhotos+" photos");
if (indice == (Math.floor(TotalPhotos/4)) || year == "2003")
{
//pr empêcher d'aller en avant qd on est à la dernière photo
Next_btn.enabled = false;
}
else
{
Next_btn.enabled = true;
}
if (nombre == 0)
{
//pr empêcher d'aller en arrière qd on est à la première photo
Previous_btn.enabled = false;
Next_btn.enabled = true;
}
else
{
Previous_btn.enabled = true;
}
for (var j:Number = 0; j<4; j++) {
photoThumb = CategoryXML.childNodes[j+nombre].childNodes[1].firstChild.nodeValue;
//trace(photoThumb);
photoHolder = this.createEmptyMovieClip("photoHolder"+j, MovieDepthCounter);
//trace(photoHolder);
xPos = 30+65*j;
photoHolder._x = xPos;
photoHolder._y = yPos;
var photoHolderLoader:MovieClipLoader = new MovieClipLoader();
photoHolderLoader.loadClip(photoThumb, photoHolder);
MovieDepthCounter++;
}
}
}
//fin du for
}
//fin de la fonction showThumbails[/code]
je souhaiterais donc envoyer la variable photoThumb qui va me permettre de répérer dans le fichier swf destinataire le noeud xml correspondant et donc en conséquence afficher la photo grandeur nature correspondante du noeud xml.
Je ne vois pas où insérer le code pour envoyer la variable et je ne comprends pas très les paramètres de send...
Merci d'avance pour votre aider !