Bonjour !
J'ai fais un code qui me permet de faire bouger un objet à partir d'un nombre de frames différent des autres objets mais il n’est pas complet, je ne sais pas comment leur attribuer le tour.
Je pensais utiliser un switch case mais il me manque quelque chose et j'arrive pas à voir quoi.
timevague est le numéro de la frame en cours, il varie de 0 à 299 puis recommence à 0.
Tchemin contient les points XY que chaque objet va prendre mais pas en même temps, sauf pour le premier points en Tchemin[0].
En gros, tous les 4 frames je fais partir un vaisseau de la liste Tennemis[].
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 function Ennemis1_UpDate(){ if(indx<=Tchemin.length-1){ // Met tous les vaisseaux de la vague à la meme position de départ. Tennemis.forEach(vaiss =>{ vaiss.X=Tchemin[0].X; vaiss.Y=Tchemin[0].Y; }) Tennemis.forEach(vaiss =>{ switch(timevague){ case 0: break; case 4: break; case 8: break; case 12: break; case 16: break; case 20: break; case 24: break; case 28: break; case 32: break; case 36: break; case 40: break; } // C'est la partie ci-dessous que je voudrais appliquer à chaque vaisseau en fonction de la case du switch. // Incrémente X des vaisseaux de la vague. if(vaiss.X<Tchemin[indx].X-vaiss.Vit){ vaiss.X+=vaiss.Vit; } if(vaiss.X>Tchemin[indx].X-vaiss.Vit){ vaiss.X-=vaiss.Vit; } // Incrémente Y des vaisseaux de la vague. if(vaiss.Y<Tchemin[indx].Y-vaiss.Vit){ vaiss.Y+=vaiss.Vit; } if(vaiss.Y>Tchemin[indx].Y-vaiss.Vit){ vaiss.Y-=vaiss.Vit; } }) } indx +=1; }
Peut-être qu'il me faudrait faire un compteur jusqu'à 4 frames et ainsi faire partir un vaisseau puis incrémenter le numéro du vaisseau qui doit partir après.
Ce serait plus simple
JE M'APPROCHE ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 // A mettre dans une fonction : Met tous les vaisseaux de la vague à la meme position de départ. Tennemis.forEach(vaiss =>{ vaiss.X=Tchemin[0].X; vaiss.Y=Tchemin[0].Y; }) function xorgons1_UpDate(){ // Déplace ennemi2 toutes les 50 frames. if(indx<=Tchemin.length-1){ let vaiss=Tennemis[i]; console.log(timevague); if(timevague==1){ // Chiffre UN. // Incrémente X du vaisseau Tennemis[i]. if(vaiss.X<Tchemin[indx].X-vaiss.Vit){ vaiss.X+=vaiss.Vit; } if(vaiss.X>Tchemin[indx].X-vaiss.Vit){ vaiss.X-=vaiss.Vit; } // Incrémente X du vaisseau Tennemis[i]. if(vaiss.Y<Tchemin[indx].Y-vaiss.Vit){ vaiss.Y+=vaiss.Vit; } if(vaiss.Y>Tchemin[indx].Y-vaiss.Vit){ vaiss.Y-=vaiss.Vit; } } // Passe au vaisseau suivant. i++; // Passe au point suivant du chemin si on a incrémenté tous les vaisseaux. // Remet aussi le compteur du numéro de vaisseau à 0. if(i>=Tennemis.length-1){ i=0; // Passe au point suivant. indx +=1; if(indx>=Tchemin.length-1){ // La vague d'ennemis. indx=0; // Remise à 0 du compteur de points du chemin. Tchemin=[]; // Vidage du chemin de points. face_sel(); // Fonction choisissant le coté de départ de la vague et le point de départ. trace(); // Fonction traçant le chemin de points et qui le mémorise dans le tableau Tchemin. } } } }
Partager