Bem se seu jogo for feito com image_xscale em vez de por o sprite para dois lados no create do tiro vc bota:
if player.image_xscale>0{hspeed=6 image_xscale=player.image_xscale}
if player.image_xscale<0{hspeed=-6 image_xscale=player.image_xscale}
bem agora no step vc coloca:
image_speed=0.5
explicando o codigos acima:
a player.image_xscale e para ficar com o lado do player ou checar qual o lado dele,se ele estiver para a frente o tiro vai para a frente,se ele estiver para tras o tiro vai para tras
o image_speed e para o sprite nao ficar muito rapido
agora e so testar,no obj player bote nun evento de apertar qualquer tecla
instance_create(x,y,tiro_obj)
qualquer duvida apenas me fale
if player.image_xscale>0{hspeed=6 image_xscale=player.image_xscale}
if player.image_xscale<0{hspeed=-6 image_xscale=player.image_xscale}
bem agora no step vc coloca:
image_speed=0.5
explicando o codigos acima:
a player.image_xscale e para ficar com o lado do player ou checar qual o lado dele,se ele estiver para a frente o tiro vai para a frente,se ele estiver para tras o tiro vai para tras
o image_speed e para o sprite nao ficar muito rapido
agora e so testar,no obj player bote nun evento de apertar qualquer tecla
instance_create(x,y,tiro_obj)
qualquer duvida apenas me fale