Image aleatoires

Résolu
gilcod Messages postés 10 Date d'inscription vendredi 10 décembre 2004 Statut Membre Dernière intervention 2 août 2007 - 30 juil. 2007 à 14:56
mikouRoux Messages postés 69 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 6 octobre 2009 - 2 août 2007 à 15:49
Bonjour a tous !

J'ai un petit souci ... j'ai creer un petit script (de base je suis newbie)qui permet d'afficher aleatoirement une image de fond sur mon site entierement realise en flash ....
le code est le suivant :

clipFondEcran.loadMovie("fond"+(Math.round(Math.random()*8))+".swf");

les images sont ,comme vous l'avez sans doute compris, dans un swf (petite anim)

Le probleme qui se pose c'est que je met le code a un point cle sur la timeline mais lorsque je fais des go to plus loin sur la timeline, je pers mon fond d'ecran ..... :( que puis je faire .? une fonction pour garder charger definitivement l'image sur toute la timeline ??? 

merci d'avance !!  

8 réponses

gilcod Messages postés 10 Date d'inscription vendredi 10 décembre 2004 Statut Membre Dernière intervention 2 août 2007
2 août 2007 à 15:05
je pense que je vais accepter ma reponse :) !!!

alors ca fonctionne desormais .... voici ce que j 'ai fait :

j'ai simplement rajouté un clip sur un calque avec point clef jusqu'a la fin du contenu de la timeline . 
ce clip ne comporte qu'une frame et contient mon mask le clip vide et un troisieme calque qui contient le code que je n'ai pas changé :
clipFondEcran.loadMovie("fond"+(Math.round(Math.random()*8))+".swf");

voila c'est tout !! :)

j'ai essayé l'inverse comme tu me l'avais conseillé darkrats c'est a dire :
mettre tout le site sur une frame et dans un clip et desous les calques de mask etc ... mais ca me faisait le meme coup : l'image passait par dessus le site ...
en tout cas merci de m'avoir mis sur la "piste" avec la créaation de clip ne comportant qu'une frame .... :)

merci a vous !
comme on dit deux cerveaux valent mieux qu'un !!
bye
3
mikouRoux Messages postés 69 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 6 octobre 2009
1 août 2007 à 12:18
Salut,

Place ton fond d'écran sur un calque vide (sous les autres)
Tu auras une image clé sur la première position de ta Timeline.
Rempli le reste de la timeline avec des images vides (tu te places sur la dernière image et appuie sur F5)

++
MikouRoux
0
Darkrats Messages postés 212 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 mai 2008 1
1 août 2007 à 15:26
Salut,

Une autre solution, en reprenant le principe de MikouRoux, c'est de créer dynamiquement le calque. Ce qui t'évite d'avoir cette longue liste de frame vide :

Bon, le code est à placer dans une frame du clip où va se charger le fichier :

this.createEmptyMovieClip("conteneur_image", this.getNextHighestDepth());
this.conteneur_image.loadMovie("fond"+(Math.round(Math.random()*8))+".swf");

Comme ton clip est créé dynamiquement, il restera là tant que tu ne supprimera pas le clip ciblé par le this ou le clip conteneur_image.
Le clip conteneur_image recoit la plus haute profondeur, il sera au dessus de tout, s'il faut le descendre, mais lui zéro ou une valeur proche de zéro.

--------- Darkrats ---------
la loi est dure mais c'est la loi
Si je ne réponds pas assez vite, rappelez-moi par MP (assez vite, j'ai dit :P)
0
gilcod Messages postés 10 Date d'inscription vendredi 10 décembre 2004 Statut Membre Dernière intervention 2 août 2007
2 août 2007 à 13:38
j'ai essayé la premiere proposition mais ca ne fonctionne pas ... je vais reessayer  tout de meme :)

quant a la deuxieme propose par Darkrats : ca fonctionne .... l'image reste bien affiche apres avoir clike sur un bouton et donc provoquer un go to ... en revanche l'image passe par dessus les boutons desormais .... alors que le calque des btn est bel et bien au dessus ..... ce ke j'avais oublie de dire aussi c'est que les clips chargé aleatoirement subisse un mask .... et le mask n'est pas actif avec la soluce de Darkrats .....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Darkrats Messages postés 212 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 mai 2008 1
2 août 2007 à 14:21
Salut,

Alors pour le problème de la hauteur.
Le mieux pour éviter tout problème est de mettre tout le contenu de ton site dans un clip auquel tu donneras la profondeur 10 (par exemple) puis quand tu crées ton clip pour l'image de fond, tu n'auras plus qu'à lui dire de le mettre en profondeur 0.
Sinon, essaie de lui donner une profondeur 0 et vois si tu n'as pas de problème.

La raison de la disparition du clip est qu'une fois l'image chargée dans un clip, ce clip doit continuer à être présent dans toutes les frames que tu as besoin (et pas avec une KeyFrame) (ce que te disais mikouRoux).

Le plus propre dans ton cas serait de n'avoir qu'une frame dans ta scène.
De mettre tout le contenu de ton site dans un clip et de créer un clip vide en dessous (qui servira à charger l'image)
Le fait de n'avoir qu'une frame dans ta scène t'assura de toujours avoir l'image de fond disponible. En plus ça désactivera les options : avancer, reculer, rembobiner du menu contextuel de flash

Pour ton masque, il te suffit d'ajouter un mask dynamique à ton clip :
Soit tu utilises (décidément, c'est le troisième post à qui j'en parle) un MovieClipLoader et sa méthode : onLoadComplete pour lui appliquer le masque dynamique (clip_cible.setMask(clip_mask);)
Soit tu crées un autre clip qui contiendra ton clip conteneur :

this.createEmptyMovieClip("conteneur_total", this.getNextHighestDepth());
this.conteneur_total.createEmptyMovieClip("conteneur_image", this.getNextHighestDepth());
this.conteneur_total.conteneur_image.loadMovie("fond"+(Math.round(Math.random()*8))+".swf");
this.conteneur_total.setMask(clip_mask);

--------- Darkrats ---------
la loi est dure mais c'est la loi
Si je ne réponds pas assez vite, rappelez-moi par MP (assez vite, j'ai dit :P)
0
mikouRoux Messages postés 69 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 6 octobre 2009
2 août 2007 à 15:21
En fait es ce que ca ne reviens pas à faire ce que j'avais écris au début ??
0
gilcod Messages postés 10 Date d'inscription vendredi 10 décembre 2004 Statut Membre Dernière intervention 2 août 2007
2 août 2007 à 15:31
non parceque j'ai inserer des points clef au debut et a la fin de la timeline .... est present tout le long de la timeline un clip qui lui ne contient qu'une frame avec le code le clip vide et le mask ....
0
mikouRoux Messages postés 69 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 6 octobre 2009
2 août 2007 à 15:49
ok ;)

A+
0
Rejoignez-nous