Orange73
Messages postés1375Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 2 août 2011
-
19 avril 2007 à 07:34
Orange73
Messages postés1375Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 2 août 2011
-
22 avril 2007 à 22:15
Bonjour,
J'ai une 30aine de clips dans la biblioteque. Je souhaiterai les faire apparaitre sur la scene principal aléatoirement (n'importe quel clip) et avec une position _x et _y aléatoire, tout cela en continu. C'est pour imiter l'apparition des popup.
cs_embalmer
Messages postés120Date d'inscriptionmercredi 14 décembre 2005StatutMembreDernière intervention10 décembre 2007 19 avril 2007 à 14:20
Hello,
voilà comment tu peux faire pour créer et placer tes clip de manière aléatoire :
Avant tout les points d'alignement des tes clips doivent être dans le coin supérieur gauche.
Ensuite tu leur donne un id de liaison (dans ta bibliothèque tu clic doit sur ton clip > liaison > exporter pour ActionScript puis dans liaison tu saisi "image1" pour ton premier clip, "image2" pour ton deuxième, etc jusqu'à 30 dans ton cas).
Ensuite à la racine de ton anim tu place le script suivant :
cs_embalmer
Messages postés120Date d'inscriptionmercredi 14 décembre 2005StatutMembreDernière intervention10 décembre 2007 19 avril 2007 à 19:11
Mais où est le plaisir de galérer à coder si tu ne cherche pas ???[javascript:Insert_Emoticon('/imgs2/smile_big.gif'); ] ! allez je suis dans un bon jour... [javascript:Insert_Emoticon('/imgs2/smile_wink.gif'); ]
var intervalId:Number;
var count:Number = 0;
var maxCount:Number = 50;
var duration:Number = 500;
function placementClips(){
_level0.createEmptyMovieClip("randomClip"+count, _level0.getNextHighestDepth());
_level0["randomClip"+count].attachMovie("image", "img"+count, count) ;
ymax = Stage.height - _level0["randomClip"+count]._height;
min = 0;
xmax = Stage.width - _level0["randomClip"+count]._width;
var yRandomNum:Number = Math.floor(Math.random() * (ymax - min + 1)) + min;
var xRandomNum:Number = Math.floor(Math.random() * (xmax - min + 1)) + min;
_level0["randomClip"+count]._x = xRandomNum;
_level0["randomClip"+count]._y = yRandomNum;
count++;
if(count >= maxCount) {
clearInterval(intervalId);
}
}
intervalId = setInterval(this, "placementClips", duration);
Voilà, je t'ai quand même mis une limite d'apparition (personnellement je trouve qu'il faut toujours une fin à un code), mais si tu veux vraiment que ça continu "indéfiniement, tu vire la variable maxcount et le :
if(count >= maxCount) {clearInterval(intervalId); }
la variable duration contrôle la fréquence d'execution de ta fonction en millisecondes.
A enfin, je présume qu'en fait tu veux toujours faire apparaitre le même clip (et non pas 30 clips différents), du coup j'ai remplacé la variable locale nomClip par l'id de liaison "image".
cs_embalmer
Messages postés120Date d'inscriptionmercredi 14 décembre 2005StatutMembreDernière intervention10 décembre 2007 19 avril 2007 à 20:00
oki, autant pour moi, je viens de relire ton premier post, j'avais complètement zappé la selection des clips aléatoire (j'avais fais attention qu'à l'emplacement aléatoire).
Bon voilà c'est corrigé, ça devrait être bon...
[javascript:Insert_Emoticon('/imgs2/smile.gif'); ]
var intervalId:Number;
var count:Number = 0;
var maxCount:Number = 50;
var duration:Number = 500;
var nomClip:String;
cs_embalmer
Messages postés120Date d'inscriptionmercredi 14 décembre 2005StatutMembreDernière intervention10 décembre 2007 19 avril 2007 à 14:36
ça veut dire que tu ouvre tes clips et que la petit croix indiquant le centre doit être en haut à gauche de ton grahisme.
et, non, il ne faut pas les placer sur la scène, c'est le but de l'id de laison et de l'attachMovie
[Javascript:Insert_Emoticon('/imgs2/smile_wink.gif'); ]
Orange73
Messages postés1375Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 2 août 2011 19 avril 2007 à 16:55
Le code marche très bien merci. Mais je souhaiterai qu'a la fin des 30 clip affiché aléatoirement, le code continu d'en réaffiché à l'infini ? alors que celui la stop a la fin des 30 clips. De plus, peux-tu m'éclairer sur comment utiliser le setInterval() ?
Orange73
Messages postés1375Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 2 août 2011 19 avril 2007 à 20:23
MERCI Beaucoup !!! ^^
A+
PS: faut que j'arrive d'abord à comprendre comment fonctionne les codes, enfin les différente parties et que signifie chaque mot avant de coder moi-même ^^
Orange73
Messages postés1375Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 2 août 2011 19 avril 2007 à 23:56
Une dernière ptite chose que je vien de voir... ^^
Comment faire pour laisser affiché les clip pendant environ 15 secondes puis il disparaissent tout seul. C'est pour alléger l'anime vu que les clip apparaissent les un apres les autres et les un sur les autre. C'est pour supprimer automatiquement ceux qui sont tout derrière... ???
Orange73
Messages postés1375Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 2 août 2011 22 avril 2007 à 22:15
Re mister ! :p
Bon j'ai un soucis...
J'ai un bouton qui va lire l'image suivante. Malheureusement le code que tu m'a filé continu de se jouer.... malgré le fait qu'aucun code n'est présent dans l'image !!! J'ai essayer le randomClip.removeMovieClip(); mais marche pas.... !
Comment faire ?