Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/06/2010, 10:25
darkxhunter
 
Fecha de Ingreso: noviembre-2009
Mensajes: 4
Antigüedad: 14 años, 6 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