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