Física

Los actores dentro de un juego pueden interactuar de muchas maneras.

Una de esas maneras es mediante una simulación, que hace a los actores comportarse como si estuvieran en un entorno real. Con gravedad, colisiones e inercia.

Veamos un ejemplo:

En el siguiente código tenemos la creación de un personaje de color verde y tres cajas:

import pilas

pilas.iniciar()

cajas = pilas.actores.Caja() * 3

pepe = pilas.actores.Aceituna()
pepe.x = -100
pepe.y = 0

Una vez que ejecutas el juego, vas a notar que las cajas se mueven, rebotan entre sí y se quedan detenidas. Pero el actor verde no hace nada...

Vamos a cambiar un poco eso, vamos a pedirle al actor verde que se pueda mover con el cursor del mouse, y que pueda rebotar:

pepe.aprender(pilas.habilidades.RebotarComoPelota)
pepe.aprender(pilas.habilidades.Arrastrable)

¿Y que hay de la gravedad?

No todos los juegos necesitan que los objetos “caigan” en el escenario. A vez es necesario simular un ambiente espacial, veamos cómo hacerlo, ejecuta esta sentencia:

pilas.fisica.definir_gravedad(0, 0)

y listo, los objeto van a comenzar a flotar lentamente.

Entones, ¿que cambiamos?, la función definir_gravedad recibe dos números, el primer indica la aceleración horizontal del escenario y el segundo indica la aceleración vertical.

Así, (0, 0) significa que no habrá aceleración en ninguna dirección.

Hace el intento, proba con diferentes valores: (40, 0), (-30, 10) etc...