Déplacer personnage en diagonal

SuperBobby4 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut la communauté !

Je suis en trains de programmer un jeu en C, mais le problème c'est que je ne sais pas comment faire pour que, si mon personnage est incliné à 160°, il aille droit devant lui (et pas vers le haut ou autre).
Ce serai un petit jeu de tir (2D) donc ce serai assez problématique de ne pouvoir tirer que dans les 4 axes.

Des idées ?

1 réponse

[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 104
 
Salut SuperBobby4,

Ton message n'est pas très clair, mais si tu veux calculer des coordonnées cartésiennes à partir d'un point, d'un angle et d'une longueur (ou vélocité de ton animation), tu as besoin d'un peu de trigonométrie.

Vois cet article qui explique les choses pas à pas avec des exemples de code en C :

https://www.helixsoft.nl/articles/circle/sincos.htm

En gros, tu utilise le cosinus de l'angle en radians multiplié par la longueur pour obtenir l’abscisse et le sinus de l'angle en radians multiplié par la longueur pour obtenir l'ordonnée.

Ensuite, tu adaptes le résultat à son système de coordonnées, par exemple, en faisant une translation, selon le système de coordonnées que ta bibliothèque graphique utilise (la SDL2 par exemple place (0,0) en haut à gauche de l'écran) et celle que tu veux mettre en oeuvre dans ton jeu (par exemple en le déplaçant au centre de l'écran)...


Dal
0