Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- import pilasengine
- from pilasengine.escenas import Normal
- from pilasengine.actores import Actor
- pilas = pilasengine.iniciar()
- class ActorBloque(Actor):
- ''' Ejemplo de Actor bloque donde pueden saltar los actores '''
- def iniciar(self, x=0, y=0):
- self.imagen = 'disparo_laser.png'
- self.x = x
- self.y = y
- self.figura_de_colision = self.pilas.fisica.Rectangulo(ancho=200,
- alto=20, dinamica=False, amortiguacion=0,
- restitucion=0, friccion=10, densidad=0)
- class ActorSaltarin(Actor):
- ''' Actor Salatarin '''
- def iniciar(self, x=-20, y=0):
- self.imagen = 'alien.png'
- self.x = x
- self.y = y
- self.imitar(self.pilas.fisica.Rectangulo(ancho=30,
- alto=80,
- amortiguacion=0,
- restitucion=0, friccion=0,
- densidad=0))
- self.control = self.pilas.escena_actual().control
- self.puede_saltar = False
- self.escala = .6
- def actualizar(self):
- pilas.camara.y = self.y
- if self.control.boton and self.puede_saltar:
- self.control.boton = False
- self.puede_saltar = False
- self.figura_de_colision.impulsar(0, 9)
- if self.control.derecha:
- self.figura_de_colision.x += 1
- elif self.control.izquierda:
- self.figura_de_colision.x -= 1
- class EscenaPersonalizada(Normal):
- ''' Escena Personalizada donde hay un actor que puede
- saltar sobre unos bloques '''
- def iniciar(self):
- self.pilas.fondos.Galaxia()
- self.pilas.fisica.eliminar_techo()
- # Bloques sobre los cuales puede saltar el actor
- self.bloques = self.pilas.actores.Grupo()
- for i in range(10):
- x = random.randint(-100, 100)
- y = -100 + i * 170
- self.bloques.agregar(ActorBloque(pilas, x, y))
- self.bloques.escala_x = 6
- self.actor_saltarin = ActorSaltarin(pilas)
- pilas.colisiones.agregar(self.actor_saltarin,
- self.bloques, self.colision_bloques)
- def colision_bloques(self, actor1, actor2):
- ''' Accion a realizar cuando 'actor_saltarin' toca a algun bloque'''
- self.actor_saltarin.puede_saltar = True
- pilas.definir_escena(EscenaPersonalizada(pilas))
- pilas.depurador.definir_modos(fisica=True)
- pilas.avisar("Salta con SPACE y mueve con flechas")
- pilas.ejecutar()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement