Problème pour dupliquer le code

Résolu
cs_jaya Messages postés 26 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 19 août 2011 - 27 janv. 2009 à 14:56
cs_jaya Messages postés 26 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 19 août 2011 - 28 janv. 2009 à 13:25
Bonjour,
J'ai récuperer il y as quelques jours le code ci dessous, mon souci est que je n'arrive pas à y integrer d'autres balles, pour pouvoir varier les couleurs, intensité etc.
Quand je duplique les variables cela ne marche pas et si j'applique le code sur un autre clip de la même scène, le premier s'arrète lorsque le second commence.
Je ne m'y retrouve pas dans tous ces code, et j'ai du mal à comprendre leurs fonctions
Pouvez vous m'aidez?
Merci

dessus.swapDepths(500);

for(i=0;i<10;i++){

duplicateMovieClip(balle,"balle"+i,100+i);

this["balle"+i].force_D=random(6)+2+(i/10);

this["balle"+i].force_B=random(6)+2+(i/10);

this["balle"+i].acc=0.2;

this["balle"+i]._x=200+i*5;

this["balle"+i]._y=200+i*5;

this["balle"+i]._alpha=i*10+10;

}

onEnterFrame = function(){

          for(i=0;i<10;i++){

                  

                    this["balle"+i]._x+=this["balle"+i].force_D;

                    this["balle"+i]._y+=this["balle"+i].force_B;

                  

                    if(this["balle"+i]._y>400){

                             this["balle"+i].force_B=-this["balle"+i].force_B;

                   }

                    if(this["balle"+i]._y<0){

                             this["balle"+i].force_B=-this["balle"+i].force_B;

                   }

                    if(this["balle"+i]._x<0){

                             this["balle"+i].force_D=-this["balle"+i].force_D;

                   }

                    if(this["balle"+i]._x>700){

                             this["balle"+i].force_D=-this["balle"+i].force_D;

                   }

          }

}

10 réponses

cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
28 janv. 2009 à 12:07
Pardons :
//dans le clip "balle" il y a 5 images clé pour les différentes couleurs
var nombreDeCouleurDifferente :Number = 5;
for(i=0;i<nombreDeBalle ;i++){

duplicateMovieClip(balle,"balle"+i,100+i);

this["balle"+i].gotoAndStop( random(nombreDeCouleurDifferente)+ 1);

this["balle"+i].force_D=random(6)+2+(i/10);

this["balle"+i].force_B=random(6)+2+(i/10);

this["balle"+i].acc=0.2;

this["balle"+i]._x=200+i*5;

this["balle"+i]._y=200+i*5;

this["balle"+i]._alpha=i*10+10;

}
bali_balo....=]
3
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
27 janv. 2009 à 17:38
Le nombre d'objet dupliqué est en "dur" dans les boucles FOR : for(i=0;i<10;i++)
Donc en fait toute les fois où tu as 10, tu la remplaces par une variable comme cela il te sera facile de les paramétrer.

var nombreDeBalle :Number = 15;
dessus.swapDepths(500);

for(i=0;i<nombreDeBalle ;i++){

duplicateMovieClip(balle,"balle"+i,100+i);

this["balle"+i].force_D=random(6)+2+(i/10);

this["balle"+i].force_B=random(6)+2+(i/10);

this["balle"+i].acc=0.2;

this["balle"+i]._x=200+i*5;

this["balle"+i]._y=200+i*5;

this["balle"+i]._alpha=i*10+10;

}

onEnterFrame = function(){

          for(i=0;i<nombreDeBalle ;i++){

                  

                    this["balle"+i]._x+=this["balle"+i].force_D;

                    this["balle"+i]._y+=this["balle"+i].force_B;

                  

                    if(this["balle"+i]._y>400){

                             this["balle"+i].force_B=-this["balle"+i].force_B;

                   }

                    if(this["balle"+i]._y<0){

                             this["balle"+i].force_B=-this["balle"+i].force_B;

                   }

                    if(this["balle"+i]._x<0){

                             this["balle"+i].force_D=-this["balle"+i].force_D;

                   }

                    if(this["balle"+i]._x>700){

                             this["balle"+i].force_D=-this["balle"+i].force_D;

                   }

          }

}

Personnellement je n'aime pas le this["balle"+i]
Je préfère stocker toute les balles dans un tableau.

bali_balo....=]
0
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
27 janv. 2009 à 17:40
Ne te lances pas dans ce genre de code si tu n'ai même pas développeur.
Même un développeur en BASIC ou ASSEMBLEUR aurait vu cela...

bali_balo....=]
0
cs_jaya Messages postés 26 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 19 août 2011
27 janv. 2009 à 18:00
en faite c'est pour le boulot, je suis graphiste et on me demande de faire un menu en flash.
le menu est fais de balles et ils souhaite que des balles de diff couleurs rebondissent en arriere plan,
comme je ne sais pas faire je cherche des solutions mais ce n'est pas facile...
0

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

Posez votre question
cs_jaya Messages postés 26 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 19 août 2011
27 janv. 2009 à 18:01
(je suis graphiste print donc flash je n'ai que quelques bases)
0
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
27 janv. 2009 à 18:06
Autant pour moi
J'ai toujours l'impression que ces messages sont postés par des mecs qui débarquent dans le monde du Flash.
Précisez les gars que vous êtes graphistes...

Sinon est-ce que ma solution peux t'aider

bali_balo....=]
0
cs_jaya Messages postés 26 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 19 août 2011
27 janv. 2009 à 18:45
moi je suis une fille!!!.
Bah en faite cette "variable" duplique la meme balle moi je souhaiterai par exemple faire rebondir 4 balles bleu et des rouges et des jaunes etc
mais c'est quand meme gentil de me repondre
0
cs_jaya Messages postés 26 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 19 août 2011
28 janv. 2009 à 11:13
....
0
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
28 janv. 2009 à 12:06
Tu as plusieurs choix.
Moi ce que je fais généralement c'est que dans ton clip "balle", je crée plusieurs images clés de la balle que je transforme en rouge, bleu , jaune , etc.
Ensuite dans ton code tu peux faire par exemple :

//dans le clip "balle" il y a 5 images clé pour les différentes couleurs
var nombreDeCouleurDifferente :Number = 5;
for(i=0;i<nombreDeBalle ;i++){

duplicateMovieClip(balle,"balle"+i,100+i);

this["balle"+i].gotoAndStop( random(nombreDeCouleurDifferente) );

this["balle"+i].force_D =random(6)+2+(i/10);

this["balle"+i].force_B=random(6)+2+(i/10);

this["balle"+i].acc=0.2;

this["balle"+i]._x=200+i*5;

this["balle"+i]._y=200+i*5;

this["balle"+i]._alpha=i*10+10;

}

Sinon tu peux faire cela via du code en utilisant la classe Color, mais ce n'est pas à ta porté je crois ^^

bali_balo....=]
0
cs_jaya Messages postés 26 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 19 août 2011
28 janv. 2009 à 13:25
ok merci beaucoup
0