pilas.actores.torreta

Package pilas :: Package actores :: Module torreta |
[hide private]
[frames] | no frames]

# Source Code for Module pilas.actores.torreta

     1  # -*- encoding: utf-8 -*-
     2  # Pilas engine - A video game framework.
     3  #
     4  # Copyright 2010 - Hugo Ruscitti
     5  # License: LGPLv3 (see http://www.gnu.org/licenses/lgpl.html)
     6  #
     7  # Website - http://www.pilas-engine.com.ar
     8
     9
    10  import pilas
    11  from pilas.actores import Actor
    12  from pilas.actores.proyectil import Bala
    13
    14
    15 -class Torreta(Actor):
    16      "Representa una torreta que puede disparar y rota con el mouse."
    17
    18 -    def __init__(self, municion_bala_simple, enemigos, cuando_elimina_enemigo, x=0, y=0, frecuencia_de_disparo=10):
    19          """Inicializa la Torreta.
    20
    21          :param municion_bala_simple: Indica el tipo de munición que se utilizará.
    22          :param enemigos: Lista o grupo de enemigos que podría eliminar la torreta.
    23          :param x: Posición horizontal inicial.
    24          :param y: Posición vertical inicial.
    25          :param frecuencia_de_disparo: Frecuencia con la que se dispararán las municiones.
    26          """
    27          imagen = pilas.imagenes.cargar('torreta.png')
    28          Actor.__init__(self, imagen, x=x, y=y)
    29
    30          self.radio_de_colision = 15
    31
    32          if municion_bala_simple is None:
    33              municion_bala_simple = Bala()
    34
    35          self.aprender(pilas.habilidades.RotarConMouse,
    36                        lado_seguimiento=pilas.habilidades.RotarConMouse.ARRIBA)
    37
    38          self.aprender(pilas.habilidades.DispararConClick,
    39                        municion=municion_bala_simple,
    40                        grupo_enemigos=enemigos,
    41                        cuando_elimina_enemigo=cuando_elimina_enemigo,
    42                        frecuencia_de_disparo=frecuencia_de_disparo,
    43                        angulo_salida_disparo=0,
    44                        offset_disparo=(27,27))
    45
    46 -    def get_municion(self):
    47          """Retorna la munción que está utilizando la torreta."""
    48          return self.habilidades.DispararConClick.municion
    49
    50 -    def set_municion(self, municion):
    51          """Define la munición que utilizará la torreta."""
    52          self.habilidades.DispararConClick.municion = municion
    53
    54      municion = property(get_municion, set_municion, doc="Define la munición de la torreta.")
    55