Bonjour,
Voilà, j'ai fais un flash, avec plusieurs images avec url (1-53 images) et description sur chaque image, genre galerie que l'on fait défiler par un bouton "play". Je voudrais mettre ces images en aléatoire à chaque rechargement de ma page php, via flash, mais je ne sais pas du tout comment procéder, ni quoi mettre, ni où placer ce code random.
Pouvez-vous m'aider, svp et m'expliquer.
Merci.
Bonjour ,
il faudrait que tu donnes plus d'infos ,comment est conçu ton script ? ,donc le bout de code concerné ,parce que là c'est un peu vague ,
mais à tout hazard
Dans ton script qui apparemment fonctionne et dans lequel tu as déjà rentré les urls de tes images , peut être écritent de cette façon img1,img2,img3,etc...,img53, ainsi que les commentaires tu as sans doute quelque part l'initialisation d'une variable qui indique l'image et le commentaire courant.
si c'est le cas il te suffit peut être , côté client donc utilisateur, au chargement du script d'initialiser cette variable de cette façon
var imageCourante=Math.ceil(Math.random()*53);
ou
var imageCourante=Math.floor(Math.random()*53)+1;
A noter que tu peux aussi créer une fonction qui te renverra une valeur aléatoire comprise dans un intervalle min et max inclus
Exemple donné dans la doc As2 du logiciel Adobe Flash Cs3
function randRange(min:Number, max:Number):Number {
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
return randomNum;
}
imageCourante=randRange(1,53);
http://livedocs.adobe.com/flash/9.0_fr/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts_bak&file=00001836.html
Par contre si tu cherches à rendre la séquence d'affichage de tes images différente à chaque chargement tu peux générer dans un Array une suite mélangée
par exemple avec cette fonction que j'avais écrit pour un jeu
function melange(nbelem:Number):Array
{
var i,j,k,randval:Number;
var ret:Array=new Array(nbelem);
var reserv:Array=new Array(nbelem);
for(i=0;i!=nbelem;i++)reserv=0; // memset
for(i=0;i!=nbelem;i++)
{
randval=Math.floor(Math.random()*(nbelem-i));
for(j=0,k=0;j!=randval;j++,k++)
while(reserv[k])k++;
while(reserv[k])k++;
reserv[ret[i]=k]=1;
}
return ret;
}
tu initialisessans balise code le forum fait sauter des caractères
donc il faut lire
Tu remplaces par
Affiche(ordreRand+1);