Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: peterpanduro en Octubre 21, 2013, 06:55:56 PM

Título: Movimiento de objeto dependiendo del punto de colisión.
Publicado por: peterpanduro en Octubre 21, 2013, 06:55:56 PM
Hola!

Tengo una duda que no consigo resolver. Tengo un objeto circular, lo que quiero hacer es que dependiendo de la posición de colisión, gire y se desplace hacía el lado contrario a la colisión. No solo vertical, si no 360 grados.

¿Alguien podría ayudarme?

Un saludo y gracias.
Título: Re:Movimiento de objeto dependiendo del punto de colisión.
Publicado por: Nehemek en Octubre 23, 2013, 12:45:10 AM
Si elaboraras mejor tu pregunta seria mas facil responderte, pero si simplemente quieres que vaya en la dirección contraria esto lo soluciona todo.

//In collision with X object
direction = -direction;
Título: Re:Movimiento de objeto dependiendo del punto de colisión.
Publicado por: Texic en Octubre 23, 2013, 12:58:31 AM
En realidad sería direction+=180, matemática básica
Título: Re:Movimiento de objeto dependiendo del punto de colisión.
Publicado por: Nehemek en Octubre 23, 2013, 01:01:23 AM
Ambos funcionan igual de bien, de todos modos game maker si puede trabajar con direcciones negativas.
Título: Re:Movimiento de objeto dependiendo del punto de colisión.
Publicado por: Texic en Octubre 23, 2013, 01:04:59 AM
No, si la dirección es 1 pasa a -1 que es equivalente a 359, mirate un gráfico de los ángulos y te vas a dar cuenta de que no hace lo que debería
Título: Re:Movimiento de objeto dependiendo del punto de colisión.
Publicado por: Nehemek en Octubre 23, 2013, 01:12:46 AM
:O tienes razón. Pero tu código también solo funciona una vez, acabo de probarlo en el programa.
Hmmm, quizas otra solución seria poner la volecidad a negativa?
Y pensaba que lo de -direction funcionaba porque almenos en el d3d lo hace cuando rotas cosas.
Título: Re:Movimiento de objeto dependiendo del punto de colisión.
Publicado por: Texic en Octubre 23, 2013, 01:18:26 AM
Funciona todas las veces, la direction siempre se autoajusta a valores entre 0 y 360, qué clase de prueba hiciste?
La velocidad negativa podría llegar a funcionar pero entorpecería el código (sobre todo con funciones de colisión o fricción propias)
Título: Re:Movimiento de objeto dependiendo del punto de colisión.
Publicado por: Nehemek en Octubre 23, 2013, 01:25:05 AM
Retiro lo dicho, hize otra prueba y esta si funciono, no se porque la de la ultima vez no lo hizo...+
En fin ahora esperemos a ver si esto responde la pregunta del OP.
Título: Re:Movimiento de objeto dependiendo del punto de colisión.
Publicado por: peterpanduro en Octubre 23, 2013, 07:42:26 AM
Aupa!

Ya siento haberme explicado tan mal.


Si, me sirve lo que me habéis explicado pero no me refería a eso, la "colisión" por llamarlo así, digo el punto donde haces click con el ratón, se me olvido comentar eso, (vaya cabeza tengo...)

Es decir, si tengo un circulo, si hago click en la parte derecha de él, que se desplace hacia la izquierda. No se si es posible, pero si lo es no lo encuentro por ningún lado.

Muchisimas gracias a los dos de todas maneras, da gusto!  ;)
Título: Re:Movimiento de objeto dependiendo del punto de colisión.
Publicado por: Texic en Octubre 23, 2013, 08:06:53 AM
En global mouse released ponés direction=point_direction(x,y,mouse_x,mouse_y)+180
Título: Re:Movimiento de objeto dependiendo del punto de colisión.
Publicado por: peterpanduro en Octubre 24, 2013, 08:09:18 PM
Eso si!

Muchas gracias!