Dans le cadre du développement d'un jeu de shoot en 2D, je suis confronté a un probleme : je désire faire bouger en diagonale une surface représentant mon Player. Le mouvement du Player est de 7 pixels a chaque pas et j'ais raisonné comme suit :
-le pas doit etre aussi "grand" en diagonale qu'en ligne droite, d'où:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
         *A                     AB = 1 pas en diagonale 
                *B               AC = 1 pas "normal"
          *C
-Comme on ne peux modifier l'ordonnée et l'abscisse d'une image en meme temps, j'ai utilisé le théorème de Pythagore ( collège, quand tu nous tient ) pour déterminer de combien de pixels le player doit bouger d'abord en ordonnée, puis en abscisse ( environ 5 en X et Y ). J'ais donc appliqué le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Si "Mouvement du Player", Alors 5 += Player_x; SDL_Delay(1); 5 += Player_y;
Le code marche tres bien, c'est juste que l'effet est tres disgracieux
Avez vous une méthode pour déplacer une surface en diagonale ?

De plus, je suis allé faire un tour dans les précédents posts ( ceux d'il y a 6 mois ) et je suis tombé sur ça :
Si tu es en C++ tu peux aussi utiliser les maps
Le sujet était la mise en place d'un fichier de configuration performant, mais je ne voit pas du tout ce que sont les maps ... ( a part maps de jeu )
Pouvez vous m'en dire plus sur ces maps ??