Déplacer personnage en diagonal

Fermé
SuperBobby4 Messages postés 12 Date d'inscription mercredi 10 juillet 2019 Statut Membre Dernière intervention 21 mai 2020 - 21 mai 2020 à 15:40
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 22 mai 2020 à 16:38
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 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 22 mai 2020 à 16:39
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