• imprimer
  • aide

Forum de discussions « Flash - LiveMotion »

Retrouvez les publications relatives à ces discussions dans notre rubrique web design et flash.

Fonction aléatoire dans une galerie dans flash

liste des forums liste des discussions Participer à la discussion

Photo de bbodygirl Message publié le mercredi 30 décembre 2009 - 12h08 par bbodygirl.
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.
Photo de inca roads Message publié le mercredi 30 décembre 2009 - 15h34 par inca roads.
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
Photo de inca roads Message publié le mercredi 30 décembre 2009 - 22h30 par inca roads.
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[i]=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 initialises

var ordreRand:Array=melange(53); // renvoi une suite mélangée de 53 valeurs de 0 à 52

Puis si tu as une fonction du genre

Affiche(i);

Tu remplaces par

Affiche(ordreRand+1);
Photo de inca roads Message publié le mercredi 30 décembre 2009 - 22h36 par inca roads.
sans balise code le forum fait sauter des caractères

donc il faut lire

Tu remplaces par

Affiche(ordreRand[i]+1);

liste des forums liste des discussions Participer à la discussion

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

Les 5 dernières discussions