Problème geturl()

juriken Messages postés 2 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 1 juin 2010 - 31 mai 2010 à 18:05
juriken Messages postés 2 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 1 juin 2010 - 1 juin 2010 à 09:32
Bonjour, j'ai un problème depuis quelques jours que je n'arrive pas à résoudre, j'explique en gros l'animation : il y a une frise contenant toutes les images d'un dossier, quand on clique sur une image elle se positionne au centre et de chaque coté s'affichent 7 autres photos qui rétrécissent de 10pixels chacune par rapport à la précédente, quand on clique sur une des photos latérales celle-ci se positionne a son tour au centre avec 7 autres images de chaque coté et ainsi de suite.

Pour le moment j'ai la frise avec toutes les images, quand je clique dessus c'est bon une deuxième frise la remplace avec les images de plus en plus petites... mais je n'arrive pas a rendre ces images là cliquables, en fait un fichier php reçoit le lien de l'image à afficher au centre depuis la première frise et affiche le fichier swf de la deuxième frise avec les liens de toutes les images (y'en a 15) en FlashVars. dans le fichier flash j'effectue le chargement, redimmensionnement et l'affichage des images et quand on clique sur une image je renvoie l'adresse de cette image à la même page php qui a appelé ce swf par la fonction geturl()

mon problème c'est que je dois mettre mon OnRelease sur le target_mc du OnLoadInit mais il a pas l'air de savoir quelle image a été cliquée car il m'affiche une frise vide, a coté de la frise je devrais avoir écrit les liens des images et là c'est "undefined"

voici le code de la partie droite de la frise


var numD = 0;

var TotTailleD = 50;
var EspTotD = 0;
var EspD = 0;


for (var i = 1; i<nbD+1; i++) {
++numD;
mcD[i] = diaporama.createEmptyMovieClip("photoD"+i, i);
tailleD = 100 - 10*i;

EspTotD = 500 - TotTailleD;
EspD = EspTotD / (nbD+1);

mcD[i]._x = 500 + TotTailleD + EspD;

TotTailleD = TotTailleD + tailleD + EspD;

mcD[i]._y = 25 + (100 - tailleD);

imgD[i] = _root["resultatD_"+i];

mcD[i].loadMovie(imgD[i]);

var mclListenerD:Object = new Object();

this["image_mclD"+numD] = new MovieClipLoader();

this["image_mclD"+numD].loadClip(imgD[i], mcD[i]);

this["image_mclD"+numD].Size = tailleD;


this["image_mclD"+numD].onLoadInit = function(target_mcD:MovieClip){

target_mcD._height = this.Size;
target_mcD._width = this.Size;

target_mcD._y = (125-this.Size);

target_mcD._alpha = 40;
target_mcD.onRollOver = function() {
this._alpha = 100;
mcC._alpha = 40;
target_mcD._y -= 10;
};
target_mcD.onRollOut = function() {
this._alpha = 40;
mcC._alpha = 100;
target_mcD._y += 10;
};

target_mcD.nombre = imgD[numD];
target_mcD.onRelease = function () {
getURL("frise_nubes.php?lien="+ this.nombre ,"main");
};

};

}



si quelqu'un pouvait m'aider ça serais vraiment sympa...

merci
a+

2 réponses

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
1 juin 2010 à 08:25
Hello,

les problèmes que tu décris sont issus d'erreur de ciblage. Tu dis : "quand on clique sur une image je renvoie l'adresse de cette image à la même page php qui a appelé ce swf par la fonction geturl()", tu appelles ce swf avec un GetURL() ou alors tu appelles la page html qui contient le swf avec un GeURL() ? Tout ça pour dire que si tu charges un swf dans un autre swf en fonction des clics sur les images, ton code doit effectivement être revu : tu utilises "_root" dans ton code pour cibler des éléments, et ces "_root" ne seront forcément pas très bien compris par le swf chargé (dans le swf où tu cibles des éléments avec _root)... Bref, évites à tout prix de mettre des "_root" dans tes codes, surtout si tu charges un swf dans un autre swf.
Essaie de mettre un trace() pour voir ce que ça donne, car si ça te renvoie "undefined" c'est qu'il ne trouve effectivement pas l'image :
target_mcD.onRelease = function () { 
getURL("frise_nubes.php?lien="+ this.nombre ,"main");
trace(this.nombre"); 
};


A plus,


BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
0
juriken Messages postés 2 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 1 juin 2010
1 juin 2010 à 09:32
j'ai pas très bien compris ce que tu me dit mais si c'est ce que je pense non ça vient pas de ça, dans le PHP j'appelle le .swf avec du code html :

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="1000" height="150" id="frise_nubes" align="middle">


&totalD=<?echo utf8_decode($totalD);?>&totalG=<?echo utf8_decode($totalG);?>&resultatD_1=<?echo utf8_decode($resultatsD[1]);?>&resultatD_2=<?echo utf8_decode($resultatsD[2]);?>&resultatD_3=<?echo utf8_decode($resultatsD[3]);?>&resultatD_4=<?echo utf8_decode($resultatsD[4]);?>&resultatD_5=<?echo utf8_decode($resultatsD[5]);?>&resultatD_6=<?echo utf8_decode($resultatsD[6]);?>&resultatD_7=<?echo utf8_decode($resultatsD[7]);?>&resultatG_1=<?echo utf8_decode($resultatsG[1]);?>&resultatG_2=<?echo utf8_decode($resultatsG[2]);?>&resultatG_3=<?echo utf8_decode($resultatsG[3]);?>&resultatG_4=<?echo utf8_decode($resultatsG[4]);?>&resultatG_5=<?echo utf8_decode($resultatsG[5]);?>&resultatG_6=<?echo utf8_decode($resultatsG[6]);?>&resultatG_7=<?echo utf8_decode($resultatsG[7]);?>">

&totalD=<?echo utf8_decode($totalD);?>&totalG=<?echo utf8_decode($totalG);?>&resultatD_1=<?echo utf8_decode($resultatsD[1]);?>&resultatD_2=<?echo utf8_decode($resultatsD[2]);?>&resultatD_3=<?echo utf8_decode($resultatsD[3]);?>&resultatD_4=<?echo utf8_decode($resultatsD[4]);?>&resultatD_5=<?echo utf8_decode($resultatsD[5]);?>&resultatD_6=<?echo utf8_decode($resultatsD[6]);?>&resultatD_7=<?echo utf8_decode($resultatsD[7]);?>&resultatG_1=<?echo utf8_decode($resultatsG[1]);?>&resultatG_2=<?echo utf8_decode($resultatsG[2]);?>&resultatG_3=<?echo utf8_decode($resultatsG[3]);?>&resultatG_4=<?echo utf8_decode($resultatsG[4]);?>&resultatG_5=<?echo utf8_decode($resultatsG[5]);?>&resultatG_6=<?echo utf8_decode($resultatsG[6]);?>&resultatG_7=<?echo utf8_decode($resultatsG[7]);?>" quality="high" bgcolor="#000000" width="1000" height="150" name="frise_nubes" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer_fr" />
</object>


(oui je sais c'est très barbare ^^)

et dans le .swf j'appelle le php, si dans

getURL("frise_nubes.php?lien="+ this.nombre ,"main");

je met le lien d'une image au lieu de "+this.nombre" ça marche très bien, en cliquant sur n'importe quelle image ça m'affiche la frise avec l'image cliquée...
0
Rejoignez-nous