Hola, estoy realizando un juego en el cual un actor debe saltar por entre medios de tubos, muy similar al FlappyBird, con pilas engine 1.0.0 y en Python, lo que yo quiero saber es como hacer para que este actor pueda saltar cada vez que se toque la tecla W, existe un ejemplo que lo adjunto, pero este es unicamente posible con 1 solo salto y yo necesito que cada vez que se toque la tecla W, el actor realize un salto
class SaltarUnaVez(pilas.comportamientos.Comportamiento):
“”“Realiza un salto, cambiando los atributos ‘y’.”""
def iniciar(self, receptor, velocidad_inicial=10, cuando_termina=None):
"""Se invoca cuando se anexa el comportamiento a un actor.
:param receptor: El actor que comenzará a ejecutar este comportamiento.
"""
super(SaltarUnaVez, self).iniciar(receptor)
self.velocidad_inicial = velocidad_inicial
self.cuando_termina = cuando_termina
self.sonido_saltar = self.pilas.sonidos.cargar("audio/saltar.wav")
self.suelo = int(self.receptor.y)
self.velocidad = self.velocidad_inicial
self.sonido_saltar.reproducir()
self.velocidad_aux = self.velocidad_inicial
self.receptor.saltando = True
def actualizar(self):
self.receptor.y += self.velocidad
self.velocidad -= 0.3
if self.receptor.y <= self.suelo:
self.velocidad_aux /= 3.5
self.velocidad = self.velocidad_aux
if self.velocidad_aux <= 1:
# Si toca el suelo
self.receptor.y = self.suelo
if self.cuando_termina:
self.cuando_termina()
self.receptor.saltando = False
return True
teclas = {
pilas.simbolos.w: ‘arriba’,
pilas.simbolos.ESPACIO: ‘boton’,
}
mi_control = pilas.control.Control(teclas)