pilasengine.fisica¶
pilasengine.fisica.circulo¶
-
class
pilasengine.fisica.circulo.
Circulo
(fisica, pilas, x, y, radio, dinamica=True, densidad=1.0, restitucion=0.56, friccion=10.5, amortiguacion=0.1, sin_rotacion=False, sensor=False)¶ Clases base:
pilasengine.fisica.figura.Figura
Representa un cuerpo de circulo.
Generalmente estas figuras se pueden construir independientes de un actor, y luego asociar.
Por ejemplo, podríamos crear un círculo:
>>> circulo_dinamico = pilas.fisica.Circulo(10, 200, 50)
y luego tomar un actor cualquiera, y decirle que se comporte cómo el circulo:
>>> mono = pilas.actores.Mono() >>> mono.imitar(circulo_dinamico)
-
definir_radio
()¶
-
escala
¶ definir escala del circulo
-
get_radius
()¶
-
get_scale
()¶
-
radio
¶ definir radio del circulo
-
set_radius
(radio)¶
-
set_scale
(escala)¶
-
pilasengine.fisica.contact_listener¶
-
class
pilasengine.fisica.contact_listener.
ObjetosContactListener
(pilas)¶ Clases base:
Box2D.Box2D.b2ContactListener
Gestiona las colisiones de los objetos para ejecutar funcionés.
-
BeginContact
(*args, **kwargs)¶
-
EndContact
(*args, **kwargs)¶
-
PostSolve
(contact, old)¶
-
PreSolve
(contact, old)¶
-
agregar_colision
(fixture_1, fixture_2)¶
-
detener_figuras_estaticas
(contact)¶
-
eliminar_colision
(fixture_1, fixture_2)¶
-
pilasengine.fisica.figura¶
-
class
pilasengine.fisica.figura.
Figura
(fisica, pilas)¶ Clases base:
object
Representa un figura que simula un cuerpo fisico.
Esta figura es abstracta, no está pensada para crear objetos a partir de ella. Se usa como base para el resto de las figuras cómo el Circulo o el Rectangulo simplemente.
-
actor_que_representa_como_area_de_colision
¶
-
definir_colision
(actor)¶
-
definir_dinamica
(d)¶
-
definir_escala_de_gravedad
(s)¶
-
definir_posicion
(x, y)¶ Define la posición para el cuerpo.
Parámetros: - x – Posición horizontal que se asignará al cuerpo.
- y – Posición vertical que se asignará al cuerpo.
-
definir_rotacion
(angulo)¶
-
definir_sensor
(s)¶
-
definir_sin_rotacion
(rotacion)¶
-
definir_velocidad_lineal
(dx=None, dy=None)¶
-
definir_x
(x)¶ Define la posición horizontal del cuerpo.
Parámetros: x – El valor horizontal a definir.
-
definir_y
(y)¶ Define la posición vertical del cuerpo.
Parámetros: y – El valor vertical a definir.
-
detener
()¶ Hace que la figura regrese al reposo.
-
dinamica
¶
-
eliminar
()¶ Quita una figura de la simulación.
-
empujar
(dx=None, dy=None)¶
-
escala_de_gravedad
¶
-
get_rotation
()¶
-
get_velocidad_x
()¶
-
get_velocidad_y
()¶
-
get_x
()¶
-
get_y
()¶
-
impulsar
(dx, dy)¶
-
obtener_colision
()¶
-
obtener_dinamica
()¶
-
obtener_escala_de_gravedad
()¶
-
obtener_rotacion
()¶
-
obtener_sensor
()¶
-
obtener_sin_rotacion
()¶
-
obtener_velocidad_lineal
()¶
-
obtener_x
()¶ Retorna la posición horizontal del cuerpo.
-
obtener_y
()¶ Retorna la posición vertical del cuerpo.
-
rotacion
¶ define la rotacion.
-
sensor
¶
-
set_rotation
(angulo)¶
-
set_velocidad_x
(dx)¶
-
set_velocidad_y
(dy)¶
-
set_x
(x)¶
-
set_y
(y)¶
-
sin_rotacion
¶
-
velocidad_x
¶ define la velocidad horizontal.
-
velocidad_y
¶ define la velocidad vertical.
-
x
¶ define la posición horizontal.
-
y
¶ define la posición vertical.
-
pilasengine.fisica.poligono¶
pilasengine.fisica.rectangulo¶
-
class
pilasengine.fisica.rectangulo.
Rectangulo
(fisica, pilas, x, y, ancho, alto, dinamica=True, densidad=1.0, restitucion=0.56, friccion=10.5, amortiguacion=0.1, sin_rotacion=False, sensor=False, plataforma=False)¶ Clases base:
pilasengine.fisica.figura.Figura
Representa un rectángulo que puede colisionar con otras figuras.
Se puede crear un rectángulo independiente y luego asociarlo a un actor de la siguiente forma:
>>> rect = pilas.fisica.Rectangulo(50, 90, True) >>> actor = pilas.actores.Pingu() >>> actor.imitar(rect)
-
alto
¶ definir alto del rectangulo
-
ancho
¶ definir ancho del rectangulo
-
definir_escala
(escala)¶
-
definir_vertices
()¶
-
escala
¶ definir escala del rectangulo
-
get_height
()¶
-
get_scale
()¶
-
get_width
()¶
-
set_height
(alto)¶
-
set_scale
(escala)¶
-
set_width
(ancho)¶
-
Contenido del módulo¶
-
class
pilasengine.fisica.
Fisica
(escena, pilas)¶ Clases base:
object
Representa un simulador de mundo fisico, usando la biblioteca Box2D (version 2.1).
-
Circulo
(x=0, y=0, radio=20, dinamica=True, densidad=1.0, restitucion=0.56, friccion=10.5, amortiguacion=0.1, sin_rotacion=False, sensor=False)¶
-
Rectangulo
(x=0, y=0, ancho=50, alto=20, dinamica=True, densidad=1.0, restitucion=0.56, friccion=10.5, amortiguacion=0.1, sin_rotacion=False, sensor=False, plataforma=False)¶ Tipo del valor devuelto: rectangulo.Rectangulo
-
actualizar
()¶ Realiza la actualización lógica del escenario.
-
cantidad_de_cuerpos
()¶
-
capturar_figura_con_el_mouse
(figura)¶ Comienza a capturar una figura con el mouse.
Parámetros: figura – La figura a controlar con el mouse.
-
crear_bordes_del_escenario
()¶ Genera las paredes, el techo y el suelo.
-
crear_cuerpo
(definicion_de_cuerpo)¶ Genera un Body de box2d.
Parámetros: definicion_de_cuerpo – Los parámetros de configuración de un cuerpo para Box2d.
-
crear_paredes
((ancho, alto), restitucion=0)¶ Genera dos paredes para el escenario.
Parámetros: - ancho – El ancho de las paredes.
- alto – El alto de las paredes.
- restitucion – El grado de conservación de energía ante una colisión.
-
crear_suelo
((ancho, alto), restitucion=0)¶ Genera un suelo sólido para el escenario.
Parámetros: - ancho – El ancho del suelo.
- alto – Alto del suelo.
- restitucion – El grado de conservación de energía ante una colisión.
-
crear_techo
((ancho, alto), restitucion=0)¶ Genera un techo sólido para el escenario.
Parámetros: - ancho – El ancho del techo.
- alto – Alto del techo.
- restitucion – El grado de conservación de energía ante una colisión.
-
cuando_mueve_el_mouse
(x, y)¶ Gestiona el evento de movimiento del mouse.
Parámetros: - x – Coordenada horizontal del mouse.
- y – Coordenada vertical del mouse.
-
cuando_suelta_el_mouse
()¶ Se ejecuta cuando se suelta el botón de mouse.
-
definir_gravedad
(x, y)¶ Define la gravedad del motor de física.
Parámetros: - x – Aceleración horizontal.
- y – Aceleración vertical.
-
definir_gravedad_x
(x)¶
-
definir_gravedad_y
(y)¶
-
despertar_a_todos
()¶
-
eliminar_figura
(figura)¶ Elimina una figura del escenario.
Parámetros: figura – Figura a eliminar.
-
eliminar_para_liberar_memoria
()¶
-
eliminar_paredes
()¶ Elimina las dos paredes del escenario.
-
eliminar_suelo
()¶ Elimina el suelo del escenario.
-
eliminar_techo
()¶ Elimina el techo del escenario.
-
gravedad_x
¶
-
gravedad_y
¶
-
iniciar
()¶
-
iterar
()¶
-
obtener_cuerpos_en
(x, y)¶ Retorna una lista de cuerpos que se encuentran en la posicion (x, y) o retorna una lista vacia [].
Parámetros: - x – posición horizontal del punto a analizar.
- y – posición vertical del punto a analizar.
-
obtener_distancia_al_suelo
(x, y, dy)¶ Obtiene la distancia hacia abajo desde el punto (x,y).
El valor de ‘dy’ tiene que ser positivo.
Si la funcion no encuentra obstaculos retornara dy, pero en paso contrario retornara un valor menor a dy.
Parámetros: - x – posición horizontal del punto a analizar.
- y – posición vertical del punto a analizar.
-
obtener_gravedad_x
()¶
-
obtener_gravedad_y
()¶
-
optimizar_figuras_estaticas
(estado=True)¶ Le indica al motor de fisica que no calcule colisiones en figuras que están en reposo.
-
pausar_mundo
()¶ Detiene la simulación física.
-
reanudar_mundo
()¶ Restaura la simulación física.
-
reiniciar
()¶ Elimina todos los objetos físicos y vuelve a crear el entorno.
-
set_gravedad_x
(nuevo_x)¶
-
set_gravedad_y
(nuevo_y)¶
-