Forums Développement Multimédia

Aller au contenu

Clip aleatoire en partant du bas

CODE Actionscript

29 réponses à ce sujet

#1 johnnymarseille72000

    Ceinture Orange

  • Members
  • PipPipPip
  • 34 messages

Posté 13 September 2008 - 16:32 PM

Bonjour,

Voila je crée un thème pour quelqun sur les dauphins, j'ai la bannière mais je voudrais mettre un effet de bulle qui monte et qui s'affiche aleatoirement bon j'y connais rien en action script je peux comprend quelque truc mais les truc de math moi ça fait 2 icon_mrgreen.gif

Si vous pouvez m'aider ça serait sympa icon_wink.gif

merci

#2 Monz

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 3541 messages

Posté 13 September 2008 - 16:50 PM

Citation (lesloups @ Sep 13 2008, 05:32 PM) Voir le message
Bonjour,

Voila je crée un thème pour quelqun sur les dauphins, j'ai la bannière mais je voudrais mettre un effet de bulle qui monte et qui s'affiche aleatoirement bon j'y connais rien en action script je peux comprend quelque truc mais les truc de math moi ça fait 2 icon_mrgreen.gif

Si vous pouvez m'aider ça serait sympa icon_wink.gif

merci

Salut,

Pour le déplacement de tes bulles, j'imagine que tu sais faire.

Pour l'aléatoire, voici une petite fonction, simple d'utilisation, tu lui passes le max et le mini, et elle te retourne un chiffre compris entre ces 2 extrêmes.

Action Script


//pour le tirage d'une ligne au hasard
function monRange(min, max){
var randomNombre = Math.floor(Math.random()*(max - min+1))+min;
return randomNombre;
}

//exemple d'utilisation
var newX = monRange (0, 250); //sort un nombre compris entre 0 et 250


#3 johnnymarseille72000

    Ceinture Orange

  • Members
  • PipPipPip
  • 34 messages

Posté 13 September 2008 - 17:31 PM

Salut,
déja merci de m'aider

alors j'ai un clip qui contient l'animation de la bulle c'est a dire qui monte vers le haut bref c'est pas le plus important
Ton as est correct mais cela ne passera a l'écran
Pourant j'ai remplace le nom du clip icon_redface.gif

Mais j'ai oublie de rajout qu'il faut que plusieur se clip de crée ou duplique c'est a dire
qu'a partir d'un clip (bulle) d'autre bulles vont se crée mais c'est a parti de la que je bloc comment faire en action script pour que les bulles se psitionnent au hsard et se crée a parti d'un seul clip
(comme un feu d'artifice)

Action Script


//pour le tirage d'une ligne au hasard
function bulle(min, max){
var randomNombre = Math.floor(Math.random()*(max - min+1))+min;
return randomNombre;
}

//exemple d'utilisation
var newX = bulle (0, 250); //sort un nombre compris entre 0 et 250


#4 Jano 95

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 4558 messages

Posté 13 September 2008 - 17:32 PM

Salut

http://flash.mediabox.fr/index.php?s=&...st&p=497040


#5 johnnymarseille72000

    Ceinture Orange

  • Members
  • PipPipPip
  • 34 messages

Posté 13 September 2008 - 17:39 PM

Merci a toi jano gourou.gif

mais mon clip bulle est qu'une fois or je veux qu'il se duplique plusieurs fois icon_redface.gif

#6 Monz

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 3541 messages

Posté 13 September 2008 - 17:49 PM

Citation (lesloups @ Sep 13 2008, 06:39 PM) Voir le message
Merci a toi jano gourou.gif

mais mon clip bulle est qu'une fois or je veux qu'il se duplique plusieurs fois icon_redface.gif


Dans ce cas de figure, le plus simple est d'avoir ton clip bulle dans ta bibliothèque, de renseigner l'option "liaison" de ses propriétés et de faire un attachMovie.

Tu fais apparaître chaque occurence de ton clip bulles à un x différent, et donc tu auras tout un tas de bulle, montant du bas.

Soit tu fais une boucle for et toutes les bulles montent en même temps, soit tu fais un setInterval et les bulles monteront selon un timing donné (par ex, une bulle toutes les 3 secondes).

Action Script


function uneBulle(){
var newX = monRange(0,250);
this.attachMovie("nomDeLiaison", "nouveauNom", this.getNextHighestDepth(), {_x:newX, _y:100});
}

monTiming = setInterval(this, "uneBulle", 200);//le dernier nombre correspond au timing, la function uneBulle sera lancée tous les X millisecondes.

Après, tu peux prévoir un compteur pour ne lancer que X bulles, etc.

#7 johnnymarseille72000

    Ceinture Orange

  • Members
  • PipPipPip
  • 34 messages

Posté 13 September 2008 - 17:59 PM

Merci pour ton aide je vais bientot y aller
mais avant pourrait me dire a quoi correspond mon range ?? et monTiming c'est special as ou c'est un autre truc

#8 Monz

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 3541 messages

Posté 13 September 2008 - 18:11 PM

Citation (lesloups @ Sep 13 2008, 06:59 PM) Voir le message
Merci pour ton aide je vais bientot y aller
mais avant pourrait me dire a quoi correspond mon range ?? et monTiming c'est special as ou c'est un autre truc


monRange : appelle la fonction que je t'ai donnée plus haut.

monTiming : c'est une variable que tu crées pour gérer ton setInterval.

#9 johnnymarseille72000

    Ceinture Orange

  • Members
  • PipPipPip
  • 34 messages

Posté 14 September 2008 - 06:26 AM

re,bonjour
je te passe le fla (fait avec cs3)
dis moi ce qui cloche s'il te plait icon_redface.gif

Fichier(s) joint(s)

  • Fichier joint  bulle.fla   96 Ko   95 téléchargement(s)


#10 Monz

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 3541 messages

Posté 14 September 2008 - 19:25 PM

Citation (lesloups @ Sep 14 2008, 07:26 AM) Voir le message
re,bonjour
je te passe le fla (fait avec cs3)
dis moi ce qui cloche s'il te plait icon_redface.gif

Tu n'avais pas mis la fonction random dans ton code. Flash ne peut pas l'inventer puisque c'est une création perso !

Je t'ai corrigé ton .fla et ajouté le mvt vers le haut, enfin, une façon tout à fait simpliste de faire ce mouvement.

Fichier(s) joint(s)



#11 paodao

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 7081 messages

Posté 15 September 2008 - 09:07 AM

salut

un exemple
si tu veux plus d'expliquation hesite pas

a+

Fichier(s) joint(s)



#12 johnnymarseille72000

    Ceinture Orange

  • Members
  • PipPipPip
  • 34 messages

Posté 15 September 2008 - 15:28 PM

génial merci gourou.gif

vous avez inquiete pas le coopie colle ces pas trop mon truc je vais essaye de lire ça icon_razz.gif

#13 Monz

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 3541 messages

Posté 15 September 2008 - 15:41 PM

Citation (paodao @ Sep 15 2008, 10:07 AM) Voir le message
salut

un exemple
si tu veux plus d'expliquation hesite pas

a+


Je note que Paodao a une maîtrise des bulles de champagne beaucoup plus affinée que la mienne ! icon_biggrin.gif

#14 johnnymarseille72000

    Ceinture Orange

  • Members
  • PipPipPip
  • 34 messages

Posté 15 September 2008 - 16:02 PM

Peut etre qu'il en a vu ou bu plus que toi icon_mrgreen.gif icon_mrgreen.gif

#15 johnnymarseille72000

    Ceinture Orange

  • Members
  • PipPipPip
  • 34 messages

Posté 15 September 2008 - 16:47 PM

j'ai une question

c'est possible

que les bulles n'aille pas partout et que je delimite une zone ?? par as ?? gourou.gif

#16 paodao

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 7081 messages

Posté 15 September 2008 - 17:02 PM

les lignes
_y = Stage.height + _height/2
_x = Math.random() * Stage.width

definnise la position du clip
a toide mettre ce que tu veux

_x = a + Math.random() * (a+b)
limite la position entre a et b

a+

#17 johnnymarseille72000

    Ceinture Orange

  • Members
  • PipPipPip
  • 34 messages

Posté 15 September 2008 - 17:05 PM

ok merci gourou.gif

#18 djfox

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 270 messages

Posté 10 October 2008 - 17:31 PM

ola
possible d'avoir le toto.fla en CS2 svp
Merci

#19 domingo0099

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 90 messages

Posté 29 October 2008 - 15:26 PM

Bonjour,

merci pour ce script de nombres aléatoires, il m'a bien aider pour une animation !
Mais j'aimerai savoir si il y a moyen de faire la même chose où chaque nombre qui serai déjà tomber ne pourrai plus revenir...
Je ne sais pas si vous me comprenez bien icon_confused.gif

Merci d'avance

#20 Tekkila

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 7355 messages

Posté 29 October 2008 - 15:51 PM

Citation
Mais j'aimerai savoir si il y a moyen de faire la même chose où chaque nombre qui serai déjà tomber ne pourrai plus revenir...


Oui, il faut passer par un tableau pour mémoriser les valeurs déjà tirées.

Fais une recherche sur le forum, il y a déjà eu plusieurs posts sur ce sujet.

A+

Joni

#21 domingo0099

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 90 messages

Posté 29 October 2008 - 16:01 PM

Merci de ta réponse mais je ne comprends pas bien...
Si j'enregistre les valeurs déjà tirées, cela n'empêchera pas la fonction aléatoire de les retirées !

Je ne sais pas si ça viens de mon navigateur mais la recherche le fais planter. icon_sad.gif

Modifié par Minik, 29 October 2008 - 16:02 PM.


#22 Tekkila

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 7355 messages

Posté 29 October 2008 - 16:10 PM

Quand tu tires une valeur aléatoirement, tu la place dans un tableau.

Ensuite quand tu retire une autre valeur, tu regardes dans ton tableau si la valeur ne s'y trouve pas déjà. C'est un peu barbare, mais c'est le plus simple. Attention car si tu compte utiliser beaucoup de valeurs aléatoires, cela risque vite de devenir gourmand.

A+

Joni

#23 domingo0099

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 90 messages

Posté 29 October 2008 - 16:14 PM

C'est justement pour ça que je demande, j'ai plus ou moins 1000 valeurs et en plus le tout doit rester fluide dans mon animation...

Tu peux voir ce que je fais là

http://flash.mediabox.fr/index.php?showtop...mp;#entry579830

Si tu as une idée, je suis preneur de toute amélioration.

Thx

Dom

#24 Jano 95

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 4558 messages

Posté 29 October 2008 - 16:35 PM

Salut

Le mieux dans ces cas là, c'est de faire l'inverse.
Remplir le tableau au départ, et le vider au fur et à mesure qu'on tire un chiffre au hasard.

Action Script

var tab:Array = new Array;
var nb:Number = 10; // nombres de valeurs. J'ai mis 10 pour le test.
// on rempli le tableau avec nb valeurs.
for (i=1 ; i<=nb ;i++) {
tab.push(i);
};
trace (tab);
// on sort les nb valeurs au hazard
for (i=0 ; i<nb ; i++) {
var n:Number = Math.floor(Math.random()*tab.length); // on sort un nombre aléatoire compris entre 0 et la lonsueur du tableau.
var X:Number = tab[n]; // on récupère le nombre à la position n dans le tableau.
tab.splice(n , 1); // on supprime ce nombre dans le tableau.
trace ("X="+X+" tab="+tab);
};
Voili voilou.


#25 Tekkila

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 7355 messages

Posté 29 October 2008 - 16:44 PM

Sinon, peut être en sens inverse.

Au début du programme tu crée un tableau qui contient toutes tes valeurs possibles.

Tu tires aléatoirement une valeur du tableau et tu la supprime. En recommençant ainsi à chaque fois, tu auras un tableau de plus en plus petit. Ce sera surement moins gourmand en ressources.

A toi de faire le test.

A+

Joni

#26 paodao

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 7081 messages

Posté 29 October 2008 - 17:05 PM

salut

pourquoi ne pas mettres les nombres dans un tableau
melanger le tableau
et prendre les valeurs les unes apres les autres
comme ca t'as pas besoins d'enlever le nombre du tableau a chaque fois icon_wink.gif

a+

#27 domingo0099

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 90 messages

Posté 29 October 2008 - 17:12 PM

Merci merci

C'est exactement ce qu'il me faut!
Par contre quand je l'adapte à mon code, cela ne fonctionne plus comme je voudrais, soit ça plante soit tout les carrés disparaissent en même temps...

Voila ma fonction

Action Script


function fadeOut(){
//var newX = monRange (0, Nbr_C);
var vit = monRandom (1, 10);

this["mask"+newX+"_mc"].onEnterFrame=function(){
this._alpha=this._alpha-vit;
this._yscale=this._yscale-vit;
this._xscale=this._xscale-vit;
}
}



#28 fabrice.trombini

    Ceinture Orange

  • Members
  • PipPipPip
  • 44 messages

Posté 09 February 2009 - 10:15 AM

bonjour,
j'ai repris le fla de paodao qui conviendrait pas mal en plus mon animation existance (un aquarium).
seulement je voudrait savoir comment peut on faire pour que les bulles eclate ou diparaissent bien avant d'arriver en haut du clip (au milieu par exemple).

pourvez vous me dire comment faire svp merci

#29 paodao

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 7081 messages

Posté 09 February 2009 - 11:02 AM

salut

dans le code il y a d'ecris

Action Script


//si la bulle sort de la scene on la repositionne
if(_y<-_height/2)init()

donc a toi de changer
if(_y<-_height/2)init()
pour que la fonction init soit appellé quand tu veux

par exemple
if(_y<Stage.height/2)init()

a+

#30 Jano 95

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 4558 messages

Posté 09 February 2009 - 11:02 AM

Salut fabrice88.

http://flash.mediabox.fr/index.php?s=&...st&p=535649 icon_wink.gif


Edit : grillé par Paodao icon_confused.gif




1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)