Eventos de SDL

Consulte acerca de programas, técnicas, algoritmos etc.

Eventos de SDL

Notapor sofoke » Sab Jul 05, 2008 4:42 pm

Bueno por aqui de regreso despues de mucho tiempo... Gracias por actibar mi cuenta..
Ahora estuve desarrollando un juego y voy muy adelantado.. pero aperecio un problema en diferentes secciones del juego (en tiempo de ejecucion) muere inexplicadamente, solo en pocas ocasiones termina en el mismo lugar que la anterior vez...
Revise todo el codigo y no encontre error en el... Solo me quedo una duda que no se, si ese; es el problema... Me refiero al manejo de eventos de SDL...
Tengo una clase una funcion dedicada al manejo del cierre de ventanas:
Código: Seleccionar todo
int Eventos::Cierra( void ){
       Uint8 *Keys;
   SDL_Event ExtSdl;
   Keys = SDL_GetKeyState( NULL );
   if( Keys[ SDLK_ESCAPE ] ){
      return -1;
   }
   while( SDL_PollEvent( &ExtSdl ) ){
      if( ExtSdl.type == SDL_QUIT ){
         return -1;
      }
   }
   return 0;
}


Y para mover el personaje (nave en mi caso) uso:
Código: Seleccionar todo
void Jugador::Mover( void ){
Uint8 *KeyMov;
   KeyMov = SDL_GetKeyState( NULL );
   PlayerOne.frame = 1;
   if( KeyMov[ SDLK_LEFT ] && PlayerOne.x >= 10 ){
      PlayerOne.frame = 2;
      PlayerOne.x = PlayerOne.x - PlayerOne.Velocidad;
   }
   if( KeyMov[ SDLK_UP ] && PlayerOne.y >= 10 ){
      PlayerOne.y = PlayerOne.y - PlayerOne.Velocidad;
   }
   if( KeyMov[ SDLK_RIGHT ] && PlayerOne.x <= 745 ){
      PlayerOne.frame = 0;
      PlayerOne.x = PlayerOne.x + PlayerOne.Velocidad;
   }
   if( KeyMov[ SDLK_DOWN ] && PlayerOne.y <= 535 ){
      PlayerOne.y = PlayerOne.y + PlayerOne.Velocidad;
   }
   if( KeyMov[ SDLK_RIGHT ] && KeyMov[ SDLK_LEFT ] ){
      PlayerOne.frame = 1;
   }
}


Para Acceder a la clase de los eventos lo hago mediante objetos...
Aun no me queda claro el manejo de eventos mediante SDL tal vez ese es el error de mi juego...
...cuando lo popular no es suficiente...
Gnu-Linux-y-Más
Avatar de Usuario
sofoke
 
Mensajes: 102
Registrado: Jue May 24, 2007 8:10 pm
Ubicación: México

Volver a General

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron