Afficher une image aléatoirement

Afficher une image aléatoirement - Flash/ActionScript - Programmation

Marsh Posté le 10-10-2008 à 15:04:02    

Bonjour,
 
j'ai consulté dans la recherche du forum des sujets en rapport avec le mien mais je n'ai pas tout compris.
Pouvez-vous m'aider ?
 
Je souhaite afficher aléatoirement une image dans mon flash qui disparaîtra ensuite.
J'ai utilisé le code que voici et que j'ai trouvé dans un des sujets:
 

Code :
  1. liste_image_array = new Array("reserve/001.jpg", "reserve/002.jpg" ); 
  2. image = liste_image_array[Math.floor(Math.random()*liste_image_array.length)]; 
  3. conteneur.attachMovie("image", "conteneur", 1);


 
reserve étant le dossier dans lequel je stock mes images.
Qu'est-ce qui cloche dans mon script ?
 
D'avance merci.
Nino

Reply

Marsh Posté le 10-10-2008 à 15:04:02   

Reply

Marsh Posté le 12-10-2008 à 06:49:06    

Le clip que tu attaches, ce doit etre :
The linkage name of the movie clip symbol in the library to attach to a movie clip on the Stage. This is the name that you enter in the Identifier field in the Linkage Properties dialog box.
 
Donc rien a voir avec une image.
Moi ce que je ferais:
- je charge toutes mes images dans des clips invisibles et tous au meme endroit.
- j'inscris tout mes clips dans un tableau
- je fais apparaitre mes clips 1 par 1 en faisant un random sur le tableau


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 12-10-2008 à 17:03:11    

La fonction attachMovie() permet de charger un clip ou une image qui est dans la bibliothèque de ton .fla.
Dans ton cas tu veux charger une image qui est externe à ton .fla.
La fonction attachMovie() ne convient donc pas.
Tu peux utiliser la fonction loadMovie() qui permet de charger des images (jpg, gif, png ...) ou des animations (swf) externes à ton .fla.
 
Dans ton cas ça donnera quelque chose comme ça :
 

Code :
  1. liste_image_array = new Array("reserve/001.jpg", "reserve/002.jpg" );
  2. image = liste_image_array[Math.floor(Math.random()*liste_image_array.length)];
  3. conteneur.loadMovie(image);


Ceci en supposant que tu as un clip sur ta scene qui a "conteneur" comme nom d'occurence, et qu'au meme niveau que ton swf, tu as un dossier "reserve" qui contient les images "001.jpg" et "002.jpg"
Attention a ne pas mettre de guillemets autour de image lors de l'appel de la fonction loadMovie, en effet c'est une variable que tu lui passe et non pas une chaine de caractères.


---------------
TFC4EVER
Reply

Marsh Posté le 13-10-2008 à 18:03:49    

Merci de vos réponses.
J'ai trouvé un code sous forme de fonction qui marche du tonnerre.
Je vous la mets ici:
 

Code :
  1. function chargeImage ( index )
  2. {
  3. var ordre = Math.ceil(Math.random()*30);
  4. var img = "reserve/00"+ordre+".jpg";
  5. mc.loadMovie(img);
  6. }
  7. chargeImage ( 1 );


 
J'ai donc un conteneur sur ma scène nommé mc.
Et ce qui est bien c'est que si je change le nombre d'images, je n'ai qu'à modifier le nombre aléatoire. Ici 30 ^^
 
Merci encore pour vos réponses éclairées.
N

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed