Bonjour,
Voilà j'aimerais pouvoir déplacer la caméra dans le plan 'seulement x et y, en se servant de la souris: C'est à dire quand on clique on peut déplacer horizontalement et verticalement.
J'ai essayé ce code mais ça ne marche pas Quelqu'un pourrait aurait une idée?

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
EVT_LEFT_DOWN(Viewer::OnLeftMouse)
EVT_LEFT_UP(Viewer::OnLeftMouseUp)
EVT_MOTION(Viewer::OnMouseMove)	
 
double depX, depY;
long Xcoord, Ycoord, X, Y;
int MouseButton = 0;
depX = depY = 0;
 
void Viewer::OnLeftMouse(wxMouseEvent& event)
{
    MouseButton = 1;
    event.GetPosition(&Xcoord, &Ycoord);
}
void Viewer::OnLeftMouseUp(wxMouseEvent& event)
{        
    MouseButton = 0;
}
 
void Viewer::OnMouseMove(wxMouseEvent& event)
{
    if (event.Dragging() == true)
    {
        event.GetPosition(&X, &Y);
        if(MouseButton ==1)
        {
	depX = depX + (GLfloat)(X - Xcoord);
	depY = depY + (GLfloat)(Y - Ycoord);
	Xcoord = X;
	Ycoord = Y;
	glTranslatef(X, Y, 0);
        }
        Draw();
    }  
}