Noviembre 30, 2017, 10:52:05 PM Ultima modificación: Diciembre 04, 2017, 01:07:01 PM por Dublan
Hola Makeros!

A ver si me podéis ayudar a resolver una duda que tengo, que no consigo resolver por mucho que busco en el foro o en google.

La idea del juego es que será un juego de construcción tipo minecraft, pero 2D con físicas. Para ello he seleccionado en la room la opción de physics_world y la opción de physics en los objetos, y estoy jugando con las colisiones para plantear las posibilidades de la construcción. Con esto, más o menos me apaño para construir en vertical, pero la problemática viene cuando quiero construir en vertical+horizontal. Por poner un ejemplo, imaginar que quiero construir así:



Es decir, usar 3 cubos. El problema viene a la hora de colocar el cubo numero 3, ya que mi intención es eliminar la gravedad y la rotación de solamente ese objeto, pero manteniendo sus propiedades físicas para que siga interactuando con otros objetos, que por ejemplo le cayeran del cielo. La opción que barajé fue la de physics_active=false, pero con esto elimino la interacción con otros objetos con fisicas. Otra opción que probé fue la de añadir fuerzas en sentido inverso a la gravedad, pero claro, luego tendría que eliminarlas (se pueden eliminar o tendría que contrarrestarlas con otras?) si el cubo 3 se soltase del cubo 2, y supongo que habrá alguna opción mas sencilla.

¿Se os ocurre como podría hacerlo?

Mil gracias!!!!

A nadie le ha surgido anteriormente esta pregunta?   :'(


Amigo mira no has activado la opcion kinematic para que sea un objeto solido e inmovible por las fisicas, segun lo que lei. si no puedes usar masa colocandola en 0. pero recomiendo el kinematic para no tener problemas a la hora de llamar tal objeto para hacer cualquier script como:

Detectar si esta fuera del limite de 7 bloques horizontales se activa la gravedad, es solo un ejemplo.  ;)

Gracias por la respuesta Goganpis!

Al final, después de mucho investigar he llegado a la solución, que era bastante sencilla.... :-[ Simplemente consistía en usar las variables físicas como:

phy_angular_velocity=0   
phy_speed_x=0
phy_speed_y=0
phy_rotation=0
phy_position_x=phy_position_xprevious
phy_position_y=phy_position_yprevious


Para vuestra info., probé a usar los fixture_bind, pero el rendimiento del juego era nefasto, por lo que lo descarté.