all HTML

Accèdez à votre compte : 

Créer un compte …

Perte de mot de passe …

  • Accueil
  • Forum de discussions
  • Publications
  • Communauté
  • Nous contacter

Poser une nouvelle question

Sélection des sujets

  • Toutes les discussions
  • Questions sans réponse
  • par langage de programmation :
    html css javascript php sql asp xml java C# action script
  • par thématique :
    animation - motion design graphisme - webdesign audio - vidéo accessibilité droit - législation web apps - logiciels référencement - seo hébergement administration serveur site web e-commerce

Fonction aléatoire dans une galerie dans flash

Sujet publié le 30/12/2009 par bbodygirl et classé dans flash animation - motion design

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.

par bbodygirl, 30/12/2009 à 12h08

répondre

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 inca roads, 30/12/2009 à 15h34

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 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[i]+1);
par inca roads, 30/12/2009 à 22h30

sans balise code le forum fait sauter des caractères

donc il faut lire

Tu remplaces par

Affiche(ordreRand+1);
par inca roads, 30/12/2009 à 22h36

répondre

  • nous contacter
  • mentions légales