bueno yo tenia la misma interrogante pero en el foro me dieron la solucion no se si ya vistes en descarga este ejemplo: de la flor de mario
http://www.comunidadgm.org/index.php?page=64
no se fijate bien en los eventos de keyboard left y rigth y los eventos create del objeto de tu personaje y el de la bola o lo que dispare :
evnto create personaje:
Ahoara en el envento keyboard left
Ahoara en el envento create de tu disparo:
espero te sirva esto si no ve mejor el ejemplo y los codigos !!!.
http://www.comunidadgm.org/index.php?page=64
no se fijate bien en los eventos de keyboard left y rigth y los eventos create del objeto de tu personaje y el de la bola o lo que dispare :
evnto create personaje:
Código [Seleccionar]
// como lo mas importante a parte del codigo que tengas es colocar
dir=0; //indica que tu personaje ve a la derecha
disparo=true;// inicializa en que si apretas la tecla para disparar funciona porque es verdadero
Ahoara en el envento keyboard left
Código [Seleccionar]
//colocas que tu personaje cambia de sprite y todo tu codigo
//pero a demas debes colocar
dir=180;// aqui especificas que cuando tu personaje ve a la izq dir=180 lo contrario a que si ves a ala derecha y en keyboard rigth dir=0;
Ahoara en el envento create de tu disparo:
Código [Seleccionar]
direction=personaje.dir// direction es una variable local alude a la direccion que ve tu personaje si 0 ? 180 y dir es como una auxiliar de tu personaje no se te olvide colocarla
speed = 10;//velocidad del disparo
if (direction=90) sprite_index = disparoder;//te tira el disparo a la derecha ,sino prueba colocar 0 en vez de 90
if (direction=180) sprite_index =disparizq;//te tira el disparo a la izquierda
alarm[0]=80;// el tiempo que durara antes que se cumpla la alarma que es destuirce.
espero te sirva esto si no ve mejor el ejemplo y los codigos !!!.