Problèmes origines de coordonnées qui ne change pas

Résolu
evilrico Messages postés 33 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 9 août 2011 - 18 juil. 2011 à 17:31
evilrico Messages postés 33 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 9 août 2011 - 20 juil. 2011 à 20:21
Bonjour tout le monde

j'essaie de créer par as2 4 carrées qui s'affichent les un après les autres, mais les points d'origines ne se modifient pas ce qui fait qu'on a 4 traits avec une origine unique.
si quelqu'un(e) pouvait m'aider je lui serai reconnaissant.
merci d'avance.

var profondeur:Number=1;
var max:Number=4;
var i:Number=0;
function dessinecarre():Void
{
//abscisses des moveTo
var originex:Array=new Array();
originex[0]=35
originex[1]=45
originex[2]=50
originex[3]=60

var originey:Number=10;

//tableau de coordonnées des 4 carrés
var points:Array=new Array(4,8);

//coordonnées du 1er carré
points[0][0]=35;
points[0][1]=15;
points[0][2]=40;
points[0][3]=15;
points[0][4]=40;
points[0][5]=10;
points[0][6]=35;
points[0][7]=10;

//coordonnées du 2nd carré
points[1][0]=45;
points[1][1]=15;
points[1][2]=50;
points[1][3]=15;
points[1][4]=50;
points[1][5]=10;
points[1][6]=45;
points[1][7]=10;

//coordonnées du 3em carré
points[2][0]=50;
points[2][1]=15;
points[2][2]=55;
points[2][3]=15;
points[2][4]=55;
points[2][5]=10;
points[2][6]=50;
points[2][7]=10;

//coordonnées du 4em carré
points[3][0]=60;
points[3][1]=15;
points[3][2]=65;
points[3][3]=15;
points[3][4]=65;
points[3][5]=10;
points[3][6]=60;
points[3][7]=10;
this.createEmptyMovieClip("carre1",i+1);
with(carre1)
{
beginFill(0x000000,50);
moveTo(originex[i],10);
lineStyle(1,0x000000,50);
}
for (j=0; j<8; j++)
{
carre1.lineTo(points[i][j],points[i][j+1])
trace("i="+i)
trace("j="+j)
}
carre1.endFill()
if (i >= max)
{
clearInterval(moninter);
}
i++;
}
moninter=setInterval(this,"dessinecarre",1000);

5 réponses

aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
20 juil. 2011 à 02:17
Bonjour, pour ce qui est du constructeur, comme tu le fais en a2, je pourrais pas trop t'aider.mais je peux déja te dire que c'est tout faux.

for (j=0; j<8; j++){
carre1.lineTo(points[i][j],points[i][j+1])


ici tu vas lire chaque rang "j" de l'array , or c'est pas ce que tu veux, car tu dois incrémenter en "2*j"

for (j=0; j<(8/2); j++){
carre1.lineTo(points[i][2*j],points[i][(2*j)+1])


D'une facon générale je pense que tu peux faire bien plus simple, mais bon je te laisse chercher un peu
3
aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
18 juil. 2011 à 22:23
Bonjour, ton remplissage de tableau bidimensionnel n'est pas bon, voici la bonne facon:

var points:Array=new Array();
points[0]=[35,15,40,15,40,10,35,10];
points[1]=[45,15,50,15,50,10,45,10];
....

Personnellement j'obterais pour cette deuxième facon:

var points:Array=new Array(
[35,15,40,15,40,10,35,10],
[45,15,50,15,50,10,45,10],
...
);

Cordialement
0
evilrico Messages postés 33 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 9 août 2011
19 juil. 2011 à 22:35
salut

merci pour ton coup de main.
je viens de tester ta méthode de tableau mais ça ne change riens
je continue à chercher.
merci encore
0
evilrico Messages postés 33 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 9 août 2011
20 juil. 2011 à 17:41
salut

merci en tout cas c'est presque ça pour les 2 premiers

quand tu dis faire plus simple c'est au niveau de la boucle for ?
0

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

Posez votre question
evilrico Messages postés 33 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 9 août 2011
20 juil. 2011 à 20:21
salut
bon ça finit par marché merci bien en tout cas
si je peux t'aider...
par contre il va falloir que je fasse plus simple comme tu dis
0
Rejoignez-nous