Como ignorar pulsaciones de teclado?

Tratamos sobre el manejo de APIs frecuentemente utilizadas en el desarrollo de videojuegos, como SDL, pygame o SFML.

Como ignorar pulsaciones de teclado?

Notapor AlexRam » Vie Sep 20, 2013 6:06 am

Bien, cada que presionamos una tecla se generan varios eventos KEYDOWN. Aunque lo hagamos por un periodo pequeñisimo de tiempo, aunque sea un ligero toquecito a la tecla, se genera más de un evento KEYDOWN.

Lo que yo quiero hacer es que sólo se tome en cuenta un KEYDOWN y los demás que salen involuntariamente sean ignorados.
Como logro eso??

En el juego que estoy elaborando, mi idea es que si presiono la tecla Z, el personaje se oculte. Si presiono Z otra vez se deberá desocultar. Pero debido al problema de los KEYDOWN repetidos, mi personaje se oculta y desoculta muchas veces seguidas pudiendo quedar finalmente oculto o no.

Código: Seleccionar todo
class Perro(Sprite):
   def __init__(self):
      self.oculto=True
      self.salud=100

   def ocultar(self):
      tecla=pygame.key.get_pressed()
      if tecla[K_z]:
            self.oculto=not self.oculto


Aunque ese no es todo el código, creo que es suficiente y se entiende.
AlexRam
 
Mensajes: 2
Registrado: Mar Ago 20, 2013 11:20 pm

Re: Como ignorar pulsaciones de teclado?

Notapor AlexRam » Vie Sep 20, 2013 11:47 pm

Saludos de nuevo.

Con la novedad de que mi problemilla con los KEYDOWN ha sido resuelto.

Me encontre con este hilo y la solución que da Hugo funciona de maravilla.

viewtopic.php?f=8&t=894
AlexRam
 
Mensajes: 2
Registrado: Mar Ago 20, 2013 11:20 pm


Volver a Sobre las bibliotecas multimedia

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados