Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: getURL dans une boucle for >_o
Envoyé: 12 mars 2005, 17h06 par Orni
C'est tout à fait normal qu'il te retourne "undefined" lorsque tu cliques.
Si tu regarde ton code :
getURL("photos_"+number[i]+".jpg","_blank");
Tu remarqueras que ta variables "i" n'est valide que dans ta boucle for, en dehors elle n'existe pas (portabilité des variables). En gros, number existe, mais i n'existe pas, donc pas de résultat possible.
Seule possibilité que je vois c'est de faire ceci :
this["clip_image"+i].number = number[i];
this["clip_image"+i].onPress=function(){getURL("photos_"+this.number+".jpg","_blank");}
PS 1 : Le getURL ne fonctionne que si c'est une adresse URL complète, dans le cas d'un fichier (comme toi) si le fichier n'existe pas, le getURL ne fonctionne pas.
PS 2 : Le code que j'ai utilisé pour arranger le tien :
number = [];
i = 0;
while (i<11) {
newnumber = random(18);
j = 0;
found = 0;
while(j < 11) {
if(number[j] == newnumber)
{
found = 1;
}
j++;
}
if(found == 0)
{
number[i] = newnumber;
}
else
{
i--;
}
i++;
}
//------- Coordonnées des clips
x = 0;
y = 0;
//------- Génération des clips
for(i=0;i<11;i++)
{
y += 80;
tmp_mc = _root.createEmptyMovieClip("clip_loader"+i, i);
with(tmp_mc)
{
_x = x
_y = y
number = number[i];
// je fais des triangles bidon pour voir mon clip ;)
beginFill(0x123456,100);
lineTo(10,10);
lineTo(20,20);
lineTo(0,40);
endFill();
}
tmp_mc.onRollOver = function()
{
this._alpha = 80;
}
tmp_mc.onRollOut = function()
{
this._alpha = 100;
}
tmp_mc.onPress = function()
{
getURL("photos_" + this.number + ".jpg","_blank");
}
}
Réponses
|