Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: jop21 en Abril 16, 2019, 08:51:16 PM

Título: pointer para armas
Publicado por: jop21 en Abril 16, 2019, 08:51:16 PM
ayuda, quiero hacer que una pistola apunte con una raya y asi el jugador pueda saber hacia donde esta apuntando sin necesidad de ver el puntero, y ademas quiero que las balas salgan en esa direcccion.

estoy usando el comando:  image_angle = point_direction(x,y,mouse_x,mouse_y)

mirar la imagen para entender mejor

Título: Re:pointer para armas
Publicado por: Clamud en Abril 17, 2019, 04:16:10 PM
La forma más fácil es usar la función draw_line()
[gml]
angulo = point_direction(x,y, mouse_x,mouse_y);
image_angle = angulo;
draw_line(x,y, x+lengthdir_x(1000,angulo), y+lengthdir_y(1000,angulo));
draw_self();
[/gml]

si quieres que sea una línea punteada, puedes usar un sprite pequeño, pero dibujado a escala
[gml]
angulo = point_direction(x,y, mouse_x,mouse_y);
image_angle = angulo;
draw_sprite_ext(spStrips,0, x,y, 20, 1, angulo, c_red, 1);
draw_self();
[/gml]

Ejemplo en GMLive (https://yal.cc/r/gml/?mode=2d&tabs_lz=NobwRAdghgtgpmAXGA6nANgYwPbwApQDmCANGDgCYLID0NABAMJQBOhr9AzgA4sCWAFzicAOixEQeAcQCuEegF4uvQXAD6UChQAUYifQP0RYABYCB3TojosoAdwB0hQSZkAjGZzgscEIX4ccGBopdD5sTDgQgFkAGT4AN3U4AA9YbnRhGhgoTiEWGh4oSM4TPm4ABkLuAGUy7gduCEJjEj15QwBGEnoBFhk4HoAzKHQvHoBmACZJqfaASgBudp4avvLORWV+IQ0tXXEOg2MzCysbeycXd09vX38BQNwQsIioqTjE5LSYDKycvLearFYT1Kp5fiWRrNVrtQz0br0EZjQZI0bjegVHpzQ5LdpuYoAa0ILGwcgoahw6GwLC2mDUbnQROWhx4O3UfAgVBSW2kchZEh5SimFQqAogAE8tiKxe12gBiKhDTlwegUWx2eh0ACiST82HoABENe0oM0ZNSttxsJyBGoKHwWHBMAJwhBtCkSBKejAyV41J7fbc1BK8Yc+DliBpmpktmbCBbsOL1fY1GEIHAPV6eikANSZZoCEwOlgB7SdUVY+OJ+Y9CX5uCF4uOkPlyskavU+ZhiR0FN2NRs1RqVICbSrdaWEhY+ie730EU9RGd7A9elOihLntcjWDjBDbRLMAAXwAukA)
Título: Re:pointer para armas
Publicado por: EARL123 en Abril 18, 2019, 02:04:24 PM
Puedes ir al evento draw y colocar:

draw_self();

draw_line(x,y,mouse_x,mouse_y);

Entonces, al principio te dibujara al personaje porque si no, no va a aparecer, y luego dibuja una linea, desde las coordenadas de donde estas hasta las coordenadas del mouse. Espero que te haya sevido.