Boucle for in

lounnaci Messages postés 26 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 18 juin 2011 - 2 janv. 2010 à 19:33
lounnaci Messages postés 26 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 18 juin 2011 - 1 févr. 2010 à 20:56
Salut a tous voila j'ai un petit pb en la manière de fonctionnement des boucle for..in j'ai réussi a mettre en point un petit programme de collusion entre des balles (MovieClip) avec un rectangle le problème reste dans la vitesse qui augmente considérablement a chaque création d'un nouveau clip.
voila le code :
var tab = Array();
function ajout() {
if ((_xmouse>15 && _xmouse<530) && (_ymouse>20 && _ymouse<355)) {
var i = _root.getNextHighestDepth();
var bal = _root.attachMovie("bal", "bal"+i, i);
bal._x = _xmouse;
bal._y = _ymouse;
bal.dx = 3;
bal.dy = 3;
tab.push(bal);
bal.onEnterFrame = deplace;
}
}
function deplace() {
for (var test in tab) {
if (tab[test].hitTest(gauche) || tab[test].hitTest(droit)) {
tab[test].dx *= -1;
}
if (tab[test].hitTest(haut) || tab[test].hitTest(bas)) {
tab[test].dy *= -1;
}
tab[test]._x += tab[test].dx;
tab[test]._y += tab[test].dy;
}
}
onMouseDown = function () {
ajout();
};

merci de votre aide
                      

5 réponses

blunt1337 Messages postés 72 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 11 octobre 2011
15 janv. 2010 à 18:12
Salut,
la meilleur manière (selon moi) :

//défini le tableau
var tab:Array = new Array();
var tabLen:int = 0;

//ajouter une valeur
tab[tabLen++] = bal;

//la boucle
var bal:MovieClip;
for (var i:uint = 0; i < tabLen; i++)
{
bal = tab[i];
//suite de ton code avec "bal" au lieu de "tab[test]"
0
lounnaci Messages postés 26 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 18 juin 2011
17 janv. 2010 à 20:07
Merci blunt1337.
je vais voir
                      
0
lounnaci Messages postés 26 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 18 juin 2011
29 janv. 2010 à 20:52
merci mais ça ne marche pas ????
toujours pas de solution

                      
0
blunt1337 Messages postés 72 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 11 octobre 2011
29 janv. 2010 à 21:12
ouai ben c'est pas la boucle alors ^^
0

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

Posez votre question
lounnaci Messages postés 26 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 18 juin 2011
1 févr. 2010 à 20:56
ça reste toujours un casse tête pour moi .........????
je ne comprend pas pour quoi la vitesse double à chaque fois que je clique sur la souris


                      
0
Rejoignez-nous