Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Las colisiones te permite disparar acciones cuando dos o mas actores entran
en contacto. Esto nos permite hacer que los personajes puedan chocar con
enemigos o capturar objetos.
cajas = pilas.actores.Caja() * 5
Podramos decir que las colisiones fsicas son casi automticas, las genera el
mismo motor de fsica que trae pilas-engine sin mucho cdigo.
En cambio, las colisiones programadas son aquellas que tienen una reaccin
por cdigo, y generalmente tienen que ver con la lgica del juego (perder,
ganar puntos, pasar de nivel etc..)
Por ejemplo, una colisin programada sencilla se puede visualizar si creamos
un personaje que se pueda mover con el mouse y se alimente comiendo
bananas:
mono = pilas.actores.Mono()
mono.aprender("Arrastrable")
bananas = pilas.actores.Banana() * 10
def cuando_colisiona(mono, banana):
banana.eliminar()
mono.sonreir()
pilas.colisiones.agregar(mono, bananas, cuando_colisiona)
Con este modo habilitado, vas a poder observar la figura de colisin que lo
representa:
En color blanco aparecen las figuras fsicas, que al rebotar con otras producirn
una reaccin de choque y rebote. Y de color verde van a aparecer los
sensores.
Los sensores son figuras fscias pero que no generan una reaccin al momento
del choque.
Para construir este ejemplo construmos dos actores, al primero lo dejamos tal
cual, pero al segundo le cambiamos la figura de colisin por un rectngulo:
zanahoria_normal = pilas.actores.Zanahoria(x=-100)
zanahoria = pilas.actores.Zanahoria(x=100)
rectangulo = pilas.fisica.Rectangulo(0, 0, 40, 100,
sensor=True, dinamica=False)
zanahoria.figura_de_colision = rectangulo