Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: mamaffia en Septiembre 25, 2014, 08:19:42 PM

Título: Mover objeto con el mouse en room física - RESUELTO
Publicado por: mamaffia en Septiembre 25, 2014, 08:19:42 PM
Hola a todos, quisiera saber si hay alguna manera de mover un objeto con el dedo o con mouse left que para mi caso es lo mismo en una room física.
Título: Re:Mover objeto con el mouse en room física
Publicado por: Marth en Septiembre 25, 2014, 08:25:40 PM
Usa las variables "mouse_x" y "mouse_y".
Por ejemplo: x=mouse_x y=mouse_y hará que el objeto se ponga en las coordenadas del ratón.
Título: Re:Mover objeto con el mouse en room física
Publicado por: TheSandBoxMKG en Septiembre 25, 2014, 11:55:35 PM
[gml]move_towards_point(mouse_x,mouse_y,velocidad)[/gml]

Este codigo tiene más fisicas.
Título: Re:Mover objeto con el mouse en room física
Publicado por: mamaffia en Septiembre 26, 2014, 12:36:42 AM
Gracias por responder... yo lo había hecho así con las variables mouse_x y mouse_y pero al habilitar la room física me dejó de funcionar. Voy a probar otra vez a ver si puedo hacer que funcione.
Título: Re:Mover objeto con el mouse en room física
Publicado por: mamaffia en Septiembre 26, 2014, 02:33:09 AM
No amigos, cuando habilito la room física no funciona, ni con las variables ni con move towards. Si alguien sabe como se hace...... se agradecee
Título: Re:Mover objeto con el mouse en room física
Publicado por: Clamud en Septiembre 26, 2014, 04:43:50 AM
Debes aplicar una fuerza al objeto, de esta forma:
[gml]
fuerza = valor; //magnitud de la fuerza
angulo = point_direction( x,y, mouse_x,mouse_y ); //angulo en que se aplica la fuerza

xforce = lengthdir_x( fuerza, angulo );
yforce = lengthdir_y( fuerza, angulo );

physics_apply_force( x,y, xforce,yforce );
[/gml]
El valor de la fuerza tiene que ser ajustado cuidadosamente, en base a el tamaño del objeto, a su densidad y a la relación entre pixeles y metros.
Título: Re:Mover objeto con el mouse en room física
Publicado por: penumbra en Septiembre 26, 2014, 05:10:16 AM
Las funciones normales de movimiento así como las variables de instancia "normales"  (x, y, gravity, speed, etc, etc.) NO FUNCIONAN ni tiene sentido usarlas cuando estás trabajando con el motor Box2D, el mismísimo manual lo aclara. Lo que quieres hacer comúnmente se resuelve usando una característica del engine de física. Te doy una pista:

Joints

Título: Re:Mover objeto con el mouse en room física
Publicado por: mamaffia en Septiembre 26, 2014, 05:31:05 AM
Clamud, agradezco que te hayas tomado la molestia de hacer el código, obviamente funciona pero no es exactamente lo que necesito, con el código el objeto persigue al puntero pero si le pongo la fuerza necesaria para que lo siga rápido se desestabiliza y así y todo nunca va a la velocidad real del puntero.

Penumbra, nunca usé las funciones joints pero sí sé que existen y ya que lo dices voy a averiguar bien de que se trata a ver si soluciona mi problema, luego cuento como me fue. Saludoss
Título: Re:Mover objeto con el mouse en room física
Publicado por: penumbra en Septiembre 26, 2014, 05:35:47 AM
Tienes que crear una unión (hay de distintos tipos) para que el objeto quede ligado al cursor y lo siga. Al soltar el botón del ratón, destruyes la unión.
Título: Re:Mover objeto con el mouse en room física
Publicado por: mamaffia en Septiembre 26, 2014, 04:34:27 PM
Bueno gente, gracias por las respuestas, francamente no puedo lograrlo todavía, seguro estoy haciendo algo mal, estoy tratando de usar joint, cree un objeto invisible (con fisicas) que siempre esta bajo el puntero del mouse y trato de conectarlo mediante physics_joint_distance_create al objeto que quiero que se mueva pero no hay caso, sigue ahí plantado sin moverse. Si alguien tiene un ejemplo se lo voy a agradecer, mientras sigo averiguando sobre el tema.
Título: Re:Mover objeto con el mouse en room física
Publicado por: kostra en Septiembre 26, 2014, 07:44:21 PM
disculpen si me salgo pero... alguien me explica a qué se refiere con eso de room "física"? :/
Título: Re:Mover objeto con el mouse en room física
Publicado por: penumbra en Septiembre 26, 2014, 10:14:40 PM
Se refiere a esto:
http://docs.yoyogames.com/source/dadiospice/002_reference/physics/index.html (http://docs.yoyogames.com/source/dadiospice/002_reference/physics/index.html)
Título: Re:Mover objeto con el mouse en room física
Publicado por: mamaffia en Septiembre 28, 2014, 06:33:38 PM
Gracias a todos, finalmente terminé usando el código que amablemente dejó en este post Clamud, hay que buscarle la fuerza exacta y configurarlo on la densidad, fricción, etc, pero si se hace con paciencia se puede lograr el efecto que uno desee. Muchas gracias, otro tema resuelto.