Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: juan pablo en Agosto 22, 2010, 02:58:39 AM

Título: como se hace para que la bala se dispare segun la direccion del sprite
Publicado por: juan pablo en Agosto 22, 2010, 02:58:39 AM
en  :GM8: no es lo mismo, me ayudan?? :-[
Título: Re: como se hace para que la bala se dispare segun la direccion del sprite
Publicado por: MRafX en Agosto 22, 2010, 04:38:43 AM
hay varias formas dependiendo de como quieras
//esta hace lo que pediste
idbala=instance_create(x,y,"bala")
if image_xscale=1
{idbala.directon=180}
if image_xscale=-1
{idbala.directon=0}
idbala.speed=2
/*solo editas el objeto "bala" y si quieres la variable idbala tambien
si ru personaje gira 360 entonces podrias poner*/
idbala=instance_create(x,y,"bala")
idbala.direction=direction
idbala.speed=2
//aun que no sea de 360 te sirve el segundo XD

hay varias formas mas, pero yo creo que con esas dos basta XD
ese lo pones en lo que va a disparar a disparar el objeto
solo le cambias la velocidad si quieres
espero te ayude
Título: Re: como se hace para que la bala se dispare segun la direccion del sprite
Publicado por: zerozerito en Agosto 23, 2010, 12:05:47 AM
quieres que para donde apunte el sprite dispare el objeto??

ejemplo estoy haciendo un game donde una flecha rota (rotacion)(usando un solo sprite) y apunta hacia donde esta mi jugador y dispara segun donde apunta (por que claro apunta al jugador y dispara en la poscicion del jugador)

si deseas esto haz lo siguiente

que el sprite sea de una sola imagen (que no sea animacion) y que apunte hacia la derecha (ejemplo el sprite de mi flecha apunta hacia la derecha)
recuerda centrar el sprite

la agregas a un objeto

en el objeto a?ade el evento step dentro de el coloca la accion "transform sprite"
dejas todo como esta pero en "angle" a?ade direction

ahora abajo a?ade la accion "move towards"

a?ade

x.objetoaseguir
y.objetoaseguir

en speed dejalo en 0 (cero)

relative dejalo desmarcado

recuerda que "objetoaseguir" debe ser reemplazado por la instancia que quieras que la torreta o flecha apunte, mientras que speed es cero ya que la instancia apunta sin moverse

listo puedes probarlo, ahora tu debes agregarle los eventos de disparo

si lo deseas que la bala tenga un depth (profundidad) alta (mayor a cero) y que asi la bala aparezca detras de la torreta o flecha