Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: DHX en Mayo 03, 2016, 01:24:23 AM

Título: Apuntar y ¿articulación? ["Solucionado"]
Publicado por: DHX en Mayo 03, 2016, 01:24:23 AM
Hola makeros,

Llevo un par de semanas atascado con un problema, he leído temas del foro relacionados con articulaciones pero no consigo nada... a ver si me podeis ayudar.

Veamos, tengo un enemigo ( cazador ) que dispara al jugador. Al principio lo tenía funcional, aunque con 4 frames "fijos" para cubrir unos 90 grados. De este modo quedaba poco vistoso, ya que no se veía un seguimiento suave al apuntar.

Ahora lo que intento es, utilizando un solo sprite del cazador "despiezado", que apunte rotando como si fuese una torreta. Lo que tengo en este momento es:

- El torso no rota, únicamente se desplaza de derecha a izquierda de la room. Bien.
- La cabeza rota siguiendo el objetivo. Bien.
- El brazo que tiene el dedo en el gatillo también rota y apunta correctamente al objetivo. Bien.
- El brazo de "atrás", que sujeta la escopeta. No consigo que rote, a la vez que esté "anclado" al arma.

Tanto la cabeza como los 2 brazos, apuntan con "image_angle = point_direction(x,y,obj_player.x,obj_player.y)". Pero me es imposible, que el brazo de detrás rote y a la vez no se despeque del arma.

Adjunto imagen con el sprite en cuestión, por si sirve de algo.

Gracias de antemano y un saludo a todos.
Título: Re:Apuntar y ¿articulación?
Publicado por: Clamud en Mayo 03, 2016, 02:42:47 AM
Usando la teoría de mecanismos, la estructura está formada por tres barras: el torso (que es el anclaje), el brazo izquierdo junto con la escopeta y el brazo derecho. Si las barras no cambian de longitud y sus articulaciones son sólo pares rotatorios, entonces ninguna barra puede rotar.

Creo que es necesario que la mano que sostiene el gatillo también sea una articulación. De esa forma la estructura se convierte en un mecanismo de 4 barras. Ahora, lo complicado es calcular la longitud de las barras para obtener la rotación adecuada. En este caso, el brazo derecho sería la manivela.
Este recurso te podría ayudar: https://tube.geogebra.org/m/7096 (https://tube.geogebra.org/m/7096)

Esto es algo complicado. A ver si se me ocurre otro método.
Título: Re:Apuntar y ¿articulación?
Publicado por: DHX en Mayo 03, 2016, 04:26:58 PM
Gracias por responder Clamud. Si te digo la verdad, no he entendido casi nada   :-[... Yo de trigonometría ( creo que la teoria que mencionas irá por ahí ) no controlo nada. He mirado el enlace que has dejado y me he quedado sin saber cómo usar esa información  :'(

No hay alguna forma de que el brazo "apunte" a un punto concreto de la escopeta, en todo momento, mientras esta rota?

Gracias y un saludo.
Título: Re:Apuntar y ¿articulación? ["Solucionado"]
Publicado por: DHX en Mayo 11, 2016, 01:04:58 AM
Hola a todas/os.

Escribo para decir que lo he "solucionado" a lo cutre, pero puede que a alguien que empieza ( como yo  :-[ ) le puede hacer el apaño.

Al final, lo que he hecho es dejar todos los sprites como estaban, excepto el brazo que queda detrás ( el que me daba el problema ). Este sprite lo edité y le hice un "resize canvas", para hacerlo igual de largo que el otro brazo. Orientandolo bien y poniendo el punto de origen en el mismo sitio, se ve bastante bien. He tenido que limitar que no apunte demasiado hacia arriba o hacia abajo, para que no se salga el brazo del hombro.

Gracias a Clamud y al resto del foro por leerme.
Saludos.