Déplacement dans un espace 2D

Résolu
xenomor_123 Messages postés 10 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 21 août 2009 - 2 mai 2007 à 21:22
xenomor_123 Messages postés 10 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 21 août 2009 - 3 mai 2007 à 20:19
Bonjour à tous, je me suis lancé dans l'apprentissage du language Flash il y a très peu de temps
et me voilà sur un petit projet pratique, orienter et déplacer un objet grâce aux flèches directionnelles
du clavier. Cela peut vous parraitre relativement simple, mais pour moi c'est encore un peu laborieux,
voilà pourquoi je fais appelle à votre aide ^^;;

Donc voilà, j'expose le problème , j'utilise les flèches RIGHT et LEFT pour faire subir à l'objet une
rotation de + ou - 45°, à chaque fois que je presse une des deux touches, ensuite j'utilise le fleche UP
pour faire avancé l'objet une fois orienté.

J'utilise dans l'évennement Key.IsDown(Key.UP) le code suivant :

        if(_rotation ==0 ){ _y += 8; }
        else if(_rotation ==180 ){ _y -= 8; }
        else if(_rotation ==90 ){ _x -= 8; }
        else if(_rotation ==-90 ){ _x += 8; }
        else if(_rotation ==135 ){ _x -= 8; _y -= 8; }
        else if(_rotation ==-135 ){ _x += 8; _y -= 8; }
        else if(_rotation ==45 ){ _x -= 8; _y += 8; }
        else if(_rotation ==-45 ){ _x += 8; _y += 8; }

Afin que l'objet sache de combien avancé sur l'axe X ou/et Y du plan, selon son dégré de rotation
Et je voulais simplement savoir s'il n'existait pas une manière ou un calcul plus court afin de
remplacer ces instructions, plutot lourde et répétitive (pour ne pas dire agaçante xD)

Merci d'avance

Xeno

2 réponses

Mansuz Messages postés 169 Date d'inscription lundi 11 décembre 2006 Statut Membre Dernière intervention 25 janvier 2014 1
3 mai 2007 à 20:06
Salut tu peut utiliser le cercle trigonométrique.
C'est simple d'utilisation. ;)

Regarde juste le principe que j'explique là:

http://islandofcreation.free.fr/Tuto_voiture/tuto_voiture.htm

En espérant t'avoir aidé.
3
xenomor_123 Messages postés 10 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 21 août 2009
3 mai 2007 à 20:19
Merci beaucoup Mansuz,
grâce à ça je peux définir les coordonnées de l'axe X et Y sur
lesquels déplacer l'objet selon son inclinaison en à peine 2 formules.

C'est déjà beaucoup moins "bourrin" que la méthode que j'utilisais ^^;;

Xeno
0
Rejoignez-nous