Foros del Web » Programación para mayores de 30 ;) » Programación General »

Ayuda con libSDL

Estas en el tema de Ayuda con libSDL en el foro de Programación General en Foros del Web. Hola, miren mi pregunta es cómo saber el estado de una tecla en particular en un momento....con que funcion??? Les explico....estoy haciendo un bomberman por ...
  #1 (permalink)  
Antiguo 21/06/2010, 10:25
 
Fecha de Ingreso: noviembre-2009
Mensajes: 4
Antigüedad: 14 años, 5 meses
Puntos: 0
Mensaje Ayuda con libSDL

Hola, miren mi pregunta es cómo saber el estado de una tecla en particular en un momento....con que funcion???

Les explico....estoy haciendo un bomberman por un proyecto que tengo de la u...y voy en la parte de poner bombas, y tengo esto (es la parte del codigo que interesa...:

Código:
    //BOMBAS
    keystate = SDL_GetKeyState(NULL);
    if (keystate[SDLK_SPACE])
    {
      bombs[b_cont].estado=1;
      bombs[b_cont].rcbomb.x=(rcsprite.x/size)*size;
      bombs[b_cont].rcbomb.y=(rcsprite.y/size)*size;
      bombs[b_cont].cont=50;
      b_cont++;
      b_cont=b_cont%cant_b;
    }
    //EN ESTA PARTE DIBUJO LA PANTALLA Y EL SPRITE
    //Y AHORA LAS BOMBAS
    for(i=0;i<cant_b;i++)
      if(bombs[i].estado)
        SDL_BlitSurface(bomb, NULL, screen, &bombs[i].rcbomb);
donde bombs es una estructura:
Código:
struct bomba
{
  SDL_Rect rcbomb;
  int estado;
  int cont;
};
y eso de
Código:
(rcsprite.x/size)*size;
lo hice para que cada bomba pudiera estar en un solo cuadro....(ya que estoy usando la pantalla de juego como una matriz con cuadros de 32x32 pixeles

el problema, es que si yo dejo apretada la barra espaciadora, va poniendo todas las bombas.....y para que resulte hay ke apretarla y soltarla altiro....
lo que quiero es saber el estado de la tecla, y sólo si no está apretada entre dentro de la condicion para poner bomas....o si alguien que sabe como hacerlo de otra forma pueda orientarme por favor...

Desde ya muchas gracias

Última edición por darkxhunter; 21/06/2010 a las 10:33

Etiquetas: graficos, sdl
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:02.