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...