Modification de la boucle dévènements, traitement de tout les évènement
de la file d'attente avant d'effectuer le rendu.
This commit is contained in:
parent
d7cfbccd75
commit
11716eaeda
51
view.cpp
51
view.cpp
|
@ -104,31 +104,32 @@ void View::mainLoop() {
|
||||||
SDL_Event event;
|
SDL_Event event;
|
||||||
|
|
||||||
while (continuer) {
|
while (continuer) {
|
||||||
SDL_WaitEvent(&event);
|
while ( SDL_PollEvent(&event) ) {
|
||||||
switch(event.type) {
|
switch(event.type) {
|
||||||
case SDL_QUIT:
|
case SDL_QUIT:
|
||||||
continuer = 0;
|
continuer = 0;
|
||||||
break;
|
break;
|
||||||
case SDL_KEYDOWN:
|
case SDL_KEYDOWN:
|
||||||
switch(event.key.keysym.sym) {
|
switch(event.key.keysym.sym) {
|
||||||
case SDLK_DOWN:
|
case SDLK_DOWN:
|
||||||
cameraCenter = cameraCenter - Vertex::fromSpherical(moveDist, yAngle, xAngle);
|
cameraCenter = cameraCenter - Vertex::fromSpherical(moveDist, yAngle, xAngle);
|
||||||
break;
|
break;
|
||||||
case SDLK_UP:
|
case SDLK_UP:
|
||||||
cameraCenter = cameraCenter + Vertex::fromSpherical(moveDist, yAngle, xAngle);
|
cameraCenter = cameraCenter + Vertex::fromSpherical(moveDist, yAngle, xAngle);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_MOUSEMOTION:
|
case SDL_MOUSEMOTION:
|
||||||
xAngle = 90 - (event.motion.x - (windowWidth/2))*340/windowWidth;
|
xAngle = 90 - (event.motion.x - (windowWidth/2))*340/windowWidth;
|
||||||
yAngle = 90 + (event.motion.y - (windowHeight/2))*340/windowHeight;
|
yAngle = 90 + (event.motion.y - (windowHeight/2))*340/windowHeight;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
renderScene();
|
renderScene();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user