Problema con disparo Top Down

Publicado por fedex2020, Julio 19, 2022, 02:12:57 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

fedex2020

estoy haciendo un top down shooter y necesito que el player este obligatoriamente en el centro para que el angulo de la imagen este de acuerdo con el mouse, pero necesito que el origen del disparo sea desde la pistola que aparece en el sprite, si me podrian ayudar a solucionarlo se los agradeceria mucho.

BoondDark

Lo tengo,

primero tienes que centrar el Sprite del jugador directamente en su editor(solo dale a la opción center), Luego la arma en el editor de su Sprite acomódala mirando hacia la derecha y la vas a centrar de la siguiente manera: primero presiona(center), veras que el centro estará en la mitad del arma, luego acomoda el centro de la coordenada x a tu gusto para que gire bien, ej: si la arma mide 32 en Width x 16 en Height, un buen centro podría ser: (0,8). lo importante es que de dejes el centro por defecto que te da la opción solo en el eje Y, la que acomodas a gusto tuyo es la X pero este centro a mi parecer esta bien (0,8). Ahora la bala también tiene que estar centrada por default como la centra el editor de Sprite.

Una vez que ya tienes los Sprite correctamente acomodados y centrados, viene la parte del codigo:

Me imagino que ya tienes tus Algoritmos necesarios para usar el arma con tu jugador, así que aquí lo mas importante es el arma.

Para la Arma:
///Evento Step

//Seguir al Jugador
x=obj_player.x
y=obj_player.y

//Apuntar Respecto al Mouse
image_angle=point_direction(x,y,mouse_x,mouse_y);

//Evento Global Left Button o cual sea el mecanismo donde disparas
instance_create(x+lengthdir_x(sprite_width,image_angle),y+lengthdir_y(sprite_width,image_angle),obj_bala);

//La bala
///Evento Create
direction=point_direction(x,y,mouse_x,mouse_y);
speed=4;


Ya con este código podrás lograr que la bala siempre se cree en la punta del arma sin importar su Angulo de rotación, que es lo que te interesa.

Saludos!
Mucha Suerte Creador!

fedex2020

Gracias por responder, lo probare...

Powered by EzPortal
SMF spam blocked by CleanTalk