Deplacement de la caméra à la souris
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 :roll: Quelqu'un pourrait aurait une idée?
Code:
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();
}
} |