pilasengine/comportamientos/saltar.py
# -*- encoding: utf-8 -*-
# pilas engine: un motor para hacer videojuegos
#
# Copyright 2010-2014 - Hugo Ruscitti
# License: LGPLv3 (see http://www.gnu.org/licenses/lgpl.html)
#
# Website - http://www.pilas-engine.com.ar
from pilasengine import comportamientos
class Saltar(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(Saltar, 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
def actualizar(self):
self.receptor.y += self.velocidad
self.velocidad -= 0.3
if self.receptor.y <= self.suelo:
self.velocidad_aux /= 2.0
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()
return True