Salut,
Salut,
Je veut faire une fonction réseau sur mon jeu, donc il faut que je représente les persos ennemies.
Pour cela, je prends les coordonnés et jusque là tout va bien.
Mais il faut aussi je tienne compte de leur direction de vision, et pour celà je fait comme ça :
Donc voila, ça marche bien, mais le problème c'est que la rotation se fait par rapport à l'origine du repère(donc ici 0) mais si mon perso ennemie est pas en 0, ça ne va plus du tout !!!
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 double aX=g_Camera.m_vView.x-g_Camera.m_vPosition.x; double aZ=g_Camera.m_vView.z-g_Camera.m_vPosition.z; double angle = atan(aZ/aX); int angle2=(180*angle)/PI; glPushMatrix(); glRotatef(angle2,0,1,0); Z=strtol(ClientZ,NULL,0); X=strtol(ClientX,NULL,0); //je fais un test avec un carré pour l'instant glBegin(GL_QUADS); glTexCoord2i(0, 1); glVertex3f(X-10, 1,Z); glTexCoord2i(0, 0); glVertex3f(X-10, 8,Z); glTexCoord2i(1, 0); glVertex3f(X+10, 8,Z); glTexCoord2i(1, 1); glVertex3f(X+10, 1,Z); glEnd(); glPopMatrix();
Comment faire pour changer les origines du repères SVP ???
Partager