Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: josuebal en Febrero 26, 2015, 01:47:29 PM

Título: Rebote con ángulo en bordes de pantalla.
Publicado por: josuebal en Febrero 26, 2015, 01:47:29 PM
Hola gente el problema que tengo es el siguiente: tengo un objeto torreta que rota automáticamente en sentido horario y antihorario de 10º(derecha) a 170º(izquierda) y viceversa. Al presionar space crea un objeto proyectil que toma la dirección(ángulo de la torreta) y se desplaza hacia donde esta apunta con motion_add(obj_Torreta.angulo, velocidad_movimiento) y con un angulo del sprite igual al de la torreta. Lo que necesito es que el proyectil rebote en los bordes de la pantalla con un ángulo de sprite y dirección correcta.
Título: Re:Rebote con ángulo en bordes de pantalla.
Publicado por: 3dgeminis en Febrero 26, 2015, 05:41:40 PM
Pone lo siguiente en el evento STEP del proyectil:

image_angle=direction

if x>=room_width
{hspeed*=-1}
if x<=0
{hspeed*=-1}
if y>=room_height
{vspeed*=-1}
if y<=0
{vspeed*=-1}
Título: Re:Rebote con ángulo en bordes de pantalla.
Publicado por: josuebal en Abril 16, 2015, 11:44:10 PM
gracias, hoy tengo el siguiente problema, quiero que rebote el objetos cuyos ángulos son diagonales no totalmente verticales u horizontales, como le harías para que la dirección que tome sea lo mas natural posible???? 
Título: Re:Rebote con ángulo en bordes de pantalla.
Publicado por: penumbra en Abril 17, 2015, 12:19:09 AM
Solamente se necesita invertir la dirección, es decir, sumarle 180 grados a la variable direction. De este modo, no es necesario usar hspeed y vspeed al mismo tiempo, sólo, vspeed