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

Source Code for Module pilas.actores.proyectil

  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  import pilas 
 10  from pilas.actores import Actor 
 11  from pilas.actores import Animacion 
 12   
 13   
14 -class Misil(Animacion):
15 """Representa un misil que va en línea recta con aceleración.""" 16
17 - def __init__(self, x=0, y=0, rotacion=0, velocidad_maxima=8, 18 angulo_de_movimiento=90):
19 """ 20 Construye el Misil. 21 22 :param x: Posición x del proyectil. 23 :param y: Posición y del proyectil. 24 :param rotacion: Angulo de rotación del Actor. 25 :param velocidad_maxima: Velocidad máxima que alcanzará el proyectil. 26 :param angulo_de_movimiento: Angulo en que se moverá el Actor.. 27 28 """ 29 grilla = pilas.imagenes.cargar_grilla("disparos/misil.png", 3) 30 Animacion.__init__(self, grilla, ciclica=True, x=x, y=y) 31 self.rotacion = rotacion 32 self.radio_de_colision = 15 33 34 self.hacer(pilas.comportamientos.Proyectil(velocidad_maxima=velocidad_maxima, 35 aceleracion=0.4, 36 angulo_de_movimiento=angulo_de_movimiento, 37 gravedad=0))
38
39 -class Bala(Actor):
40 """ Representa una bala que va en línea recta. """
41 - def __init__(self,x=0,y=0,rotacion=0,velocidad_maxima=9, 42 angulo_de_movimiento=90):
43 44 """ 45 Construye la Bala. 46 47 :param x: Posición x del proyectil. 48 :param y: Posición y del proyectil. 49 :param velocidad_maxima: Velocidad máxima que alcanzará el proyectil. 50 :param angulo_de_movimiento: Angulo en que se moverá el Actor.. 51 52 """ 53 imagen = pilas.imagenes.cargar('disparos/bola_amarilla.png') 54 Actor.__init__(self, imagen) 55 self.x = x 56 self.y = y 57 self.rotacion = rotacion 58 59 self.radio_de_colision = 5 60 61 self.hacer(pilas.comportamientos.Proyectil(velocidad_maxima=velocidad_maxima, 62 aceleracion=1, 63 angulo_de_movimiento=angulo_de_movimiento, 64 gravedad=0))
65 66
67 -class Dinamita(Animacion):
68 """ Representa un cartucho de dinamita. """ 69
70 - def __init__(self,x=0,y=0,rotacion=0,velocidad_maxima=4, 71 angulo_de_movimiento=90):
72 73 """ 74 Construye la Dinamita. 75 76 :param x: Posición x del proyectil. 77 :param y: Posición y del proyectil. 78 :param rotacion: Angulo de rotación del Actor. 79 :param velocidad_maxima: Velocidad máxima que alcanzará el proyectil. 80 :param angulo_de_movimiento: Angulo en que se moverá el Actor.. 81 82 """ 83 grilla = pilas.imagenes.cargar_grilla("disparos/dinamita.png", 2) 84 Animacion.__init__(self, grilla, ciclica=True, x=x, y=y) 85 self.rotacion = rotacion 86 self.radio_de_colision = 20 87 88 self.hacer(pilas.comportamientos.Proyectil(velocidad_maxima=velocidad_maxima, 89 aceleracion=0.4, 90 angulo_de_movimiento=angulo_de_movimiento, 91 gravedad=3)) 92 self.escala = 0.7 93 94 self.aprender(pilas.habilidades.PuedeExplotar)
95
96 - def actualizar(self):
97 self.rotacion += 3
98 99
100 -class EstrellaNinja(Actor):
101 """ Representa una estrella ninja. """ 102
103 - def __init__(self,x=0,y=0,rotacion=0,velocidad_maxima=4, 104 angulo_de_movimiento=90):
105 106 """ 107 Construye la Estella Ninja. 108 109 :param x: Posición x del proyectil. 110 :param y: Posición y del proyectil. 111 :param rotacion: Angulo de rotación del Actor. 112 :param velocidad_maxima: Velocidad máxima que alcanzará el proyectil. 113 :param angulo_de_movimiento: Angulo en que se moverá el Actor.. 114 115 """ 116 imagen = pilas.imagenes.cargar('disparos/estrella.png') 117 Actor.__init__(self, imagen) 118 self.x = x 119 self.y = y 120 self.rotacion = rotacion 121 self.escala = 0.5 122 self.radio_de_colision = 20 123 124 self.hacer(pilas.comportamientos.Proyectil(velocidad_maxima=velocidad_maxima, 125 aceleracion=1, 126 angulo_de_movimiento=angulo_de_movimiento, 127 gravedad=0))
128
129 - def actualizar(self):
130 self.rotacion += 10
131