Boucle For et onEnterFrame

renard1123 Messages postés 2 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 30 janvier 2010 - 23 juil. 2009 à 20:36
sep2vigne Messages postés 50 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 29 janvier 2010 - 25 juil. 2009 à 20:09
Bonjour à tous,
Cela fait maintenant pas mal de temps que je buche sur ce problème.
J'ai créé un bouton nommé "Btn" celui ci est sensé propulser 4 balles appelées "Balle" de la gauche vers la droite.
Cependant le problème commence ici, une seul de mes 4 balles ne part.

Amicalement à celui qui utilisera de son temps

Code source :

var speed:Number = 5;

for(var i = 0; i< 4; i++){

attachMovie("Btn", "carre", 100);
carre._x =15;
carre._y = 300;
carre.labelOut.text = " Lancer";


attachMovie("Balle","rond"+i, i+1);
cetteballe = _root["rond"+i];
cetteballe._x = -rond._width;
cetteballe._y = 60 * i + 15;
attachMovie("Btn", "carre", 100);
carre._x =15;
carre._y = 300;
carre.labelOut.text = " Lancer";

carre.onPress = function():Void{

cetteballe.onEnterFrame = function():Void{
this._x = this._x +speed;
}//ONENTERFRAME
}// ONPRESSE
}// FOR


http://www.ren-art.fr

1 réponse

sep2vigne Messages postés 50 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 29 janvier 2010
25 juil. 2009 à 20:09
var speed:Number = 5;

// tu crées tes balles :
//----------------------
for (var i = 0; i < 4; i++) {
attachMovie("Balle","rond"+i, i+1);
cetteballe = _root["rond"+i];
cetteballe._x = -rond._width;
cetteballe._y = 60 * i + 15;
}

// tu crées ton bouton "Lancer" :
//-------------------------------
attachMovie("Btn", "carre", 100);
carre._x = 15;
carre._y = 300;
carre.labelOut.text = " Lancer";

// tu lui assigne une fonction :
//------------------------------
carre.onRelease = function():Void
{
// tu fais ici une 2e boucle
// pour parler aux 4 balles d'un coup
for (var i = 0; i < 4; i++) {
cetteballe = _root["rond"+i];
cetteballe.onEnterFrame = function():Void {
this._x = this._x + speed;
}
}
}

Le code ci-dessus devrait fonctionner.
PAR CONTRE : Ton code présente un gros "danger", la boucle onEnterFrame qu'on déclenche au click sur le bouton ne s'arretteras jamais dans l'état actuel du code. Prévois peut être une limite sur _x au dela de laquelle tu delete onEnterFrame.
L'idéal pour ce genre d'animation étant d'utiliser les Tweens de flash > tu peux alors commander des mouvements configurables en une ligne de code.
Cherches de ce côté là.

Bon courage et à+
Sep
0
Rejoignez-nous