commit 11716eaeda727dd2f74e8640b087a79029aae3e4
parent d7cfbccd750e69d7146d3b8cb51918196d4a8dac
Author: Yoann <yoann.b87@voila.fr>
Date: Mon, 28 Nov 2011 19:21:35 +0100
Modification de la boucle dévènements, traitement de tout les évènement
de la file d'attente avant d'effectuer le rendu.
Diffstat:
| M | view.cpp | | | 51 | ++++++++++++++++++++++++++------------------------- |
1 file changed, 26 insertions(+), 25 deletions(-)
diff --git a/view.cpp b/view.cpp
@@ -104,31 +104,32 @@ void View::mainLoop() {
SDL_Event event;
while (continuer) {
- SDL_WaitEvent(&event);
- switch(event.type) {
- case SDL_QUIT:
- continuer = 0;
- break;
- case SDL_KEYDOWN:
- switch(event.key.keysym.sym) {
- case SDLK_DOWN:
- cameraCenter = cameraCenter - Vertex::fromSpherical(moveDist, yAngle, xAngle);
- break;
- case SDLK_UP:
- cameraCenter = cameraCenter + Vertex::fromSpherical(moveDist, yAngle, xAngle);
- break;
- default:
- break;
- }
- break;
-
- case SDL_MOUSEMOTION:
- xAngle = 90 - (event.motion.x - (windowWidth/2))*340/windowWidth;
- yAngle = 90 + (event.motion.y - (windowHeight/2))*340/windowHeight;
- break;
-
- default:
- break;
+ while ( SDL_PollEvent(&event) ) {
+ switch(event.type) {
+ case SDL_QUIT:
+ continuer = 0;
+ break;
+ case SDL_KEYDOWN:
+ switch(event.key.keysym.sym) {
+ case SDLK_DOWN:
+ cameraCenter = cameraCenter - Vertex::fromSpherical(moveDist, yAngle, xAngle);
+ break;
+ case SDLK_UP:
+ cameraCenter = cameraCenter + Vertex::fromSpherical(moveDist, yAngle, xAngle);
+ break;
+ default:
+ break;
+ }
+ break;
+
+ case SDL_MOUSEMOTION:
+ xAngle = 90 - (event.motion.x - (windowWidth/2))*340/windowWidth;
+ yAngle = 90 + (event.motion.y - (windowHeight/2))*340/windowHeight;
+ break;
+
+ default:
+ break;
+ }
}
renderScene();