Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: venus en Octubre 22, 2015, 06:14:02 PM

Título: Problema con rotación de un objeto con físicas
Publicado por: venus en Octubre 22, 2015, 06:14:02 PM
Tengo un objeto con físicas y quiero que haya un punto por el que no se mueva. Es decir, que la gravedad y las colisiones actuen sobre el pero que nunca se mueva por el punto en el que está enganchado. Como una palanca.
Mas o menos esto: http://docs.yoyogames.com/source/dadiospice/002_reference/physics/joints/physics_joint_revolute_create.html
Pero que no necesite estar unido a otro objeto.
Título: Re:Problema con rotación de un objeto con físicas
Publicado por: penumbra en Octubre 22, 2015, 08:25:54 PM
Cita de: venus en Octubre 22, 2015, 06:14:02 PM
Pero que no necesite estar unido a otro objeto.
No he hecho pruebas de esto específicamente, pero no creo que se pueda con un único objeto. El sistema Box2D trabaja en base a simulación. Una vez que el objeto está definido y se coloca en la habitación, el objeto (solitario, sin punto de anclaje ni unión) va a reaccionar a las fuerzas que actúen sobre él, y (me supongo) como lo haría un objeto en la vida real, si la fuerza es suficiente, una colisión (por cualquier lado/punto) lo va a mover.

Si quieres que el objeto se comporte como una unión con giro, creo que sí o sí necesitas otro objeto para anclarlo.
Título: Re:Problema con rotación de un objeto con físicas
Publicado por: LocoMaker en Octubre 24, 2015, 06:00:50 AM
Lo que entendi de tu pregunta es que quieres un objeto que se mueva pero que no lo afecte la gravedad; es decir, "Cinematico".

Tienes que crear un objeto y colocar la densidad con un valor de 0; esto lo convierte en un objeto "Estático", pero si en algún evento colocas un función de movimiento como phy_speed_x, phy_speed_y o phy_rotation; el objeto se convertirá en un objeto "Cinemático"
Ej: Coloca en el evento step del objeto phy_rotation += 1; y el objeto girara sentido horario un grado por paso.

y en el evento de colisión solo tienes que colocar una acción.
Ej: Coloca en un codigo //Colision y listo.

Nota: El objeto colisionara con otros objetos pero no se moverá ya que es un objeto "Cinemático"

Aqui se explica como se comportan los objetos "Cinematicos"
http://docs.yoyogames.com/source/dadiospice/002_reference/physics/fixtures/physics_fixture_set_kinematic.html
Título: Re:Problema con rotación de un objeto con físicas
Publicado por: venus en Octubre 24, 2015, 10:06:45 AM
Lo siento, no busco eso. Lo que me refiero es un objeto que pueda girar por impactos pero que esté "sujeto" al mapa por un punto.
Algo así como una rueda en una pared o la aguja de una brújula. No se si me explico.
Título: Re:Problema con rotación de un objeto con físicas
Publicado por: LocoMaker en Octubre 24, 2015, 07:33:21 PM
Aquí tienes un ejemplo, Cambia el evento de colisión del "obj_engrane" con el objeto que quieras que colisione.