Bonjour à tous, je suis en train de programmer un petit jeu en SDL en me basant plus ou moins sur le sokoban du tuto de mateo sur openclassrooms et j'hésite sur la methode à choisir pour modifier le sprite du perso:
-dans le tuto mateo crée un tableau de 4 surfaces (une pour chaque coté du personnage) les sprites sont donc tous chargés puis blittés via un pointeur maispour mon projet les personnages sont animés donc il faudrait que je créée des tableaux de tableaux de tableaux (surface[coté du perso][type d'animation(marcher, sauter etc..)][etapes de l'animation]. Ce qui fait quand meme beaucoup de surfaces à charger.
-sinon il y à ce que j'avais fait avant de regarder le tuto: je créée une seule surface et une énumeration listant toutes les positions possibles du perso puis je fais un switch sur cette enumeration et je change l'image envoyée sur la surface avec IMG_Load
petit exemple:
d'après vous quelle est la meilleure solution?
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 switch(*SideElizabeth) { case GAUCHE: *imageZabeth = IMG_Load("elz_face_gauche.png"); break; case DROITE: *imageZabeth = IMG_Load("elz_face_droite.png"); break; case HAUT: *imageZabeth = IMG_Load("elz_haut.png"); break; case BAS: *imageZabeth = IMG_Load("elz_bas.png"); break; case AVANCE_GAUCHE: *compteurDePas += 1; if(*compteurDePas > 6) *compteurDePas = 0; if(*compteurDePas == 1) *imageZabeth = IMG_Load("elz_pas_1_gauche.png"); else if(*compteurDePas == 2) *imageZabeth = IMG_Load("elz_pas_2_gauche.png"); else if(*compteurDePas == 3) *imageZabeth = IMG_Load("elz_pas_3_gauche.png"); else if(*compteurDePas == 4) *imageZabeth = IMG_Load("elz_pas_4_gauche.png"); else if(*compteurDePas == 5) *imageZabeth = IMG_Load("elz_pas_5_gauche.png"); else if(*compteurDePas == 6) *imageZabeth = IMG_Load("elz_pas_6_gauche.png"); break; }
merci!
Partager