Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Diferencia de angulos  (Leído 611 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado 3dgeminis

en: Julio 20, 2018, 04:05:59 am
Autor: 3dgeminis

Versión de GM utilizada:GM8:

Descripción: Devuelve la diferencia entre 2 angulos.
Hace lo mismo que la funcion angle_difference de Game Maker Studio y sirve para GM8 y versiones anteriores.

Para que el script funcione correctamente, el valor de los angulos debe estar entre 0 y 360 grados.

Código del Script:
angulo1=argument0 ///primer angulo
angulo2=argument1 ///segundo angulo

dif_ang=(angulo2 - angulo1) ///se restan los angulos

///el valor de dif_ang se fija entre los angulos 180 y -180
if dif_ang<-180 {dif_ang+=360}
if dif_ang>180 {dif_ang-=360}

return dif_ang ///devuelve la diferencia entre los angulos

Ejemplo de utilizacion:
///Girar un sprite hacia donde apunta el raton

///STEP EVENT
ang=point_direction(x,y,mouse_x,mouse_y)

if image_angle>360 {image_angle-=360}
if image_angle<0 {image_angle+=360}

dif=diferencia_angulos(image_angle,ang)

image_angle+=min(abs(dif), 5)*sign(dif)

 


No Tienes Permisos Para Dar Puntos
point 5 Puntos

Usuarios que puntuaron el tema » Clamud (5 Pts) 


Desconectado somnus

Respuesta #1 en: Julio 20, 2018, 07:42:19 pm
sigues utilizando GM8?. se sigue vendiendo?

Es Mejor No Saber Porque Funciona, Que Saber El Porque No Funciona...
Tienes alguna duda con "Game Design" o de videojuegos en general, contactamente mas facil en twitter @pavulzavala
 


Desconectado 3dgeminis

Respuesta #2 en: Julio 22, 2018, 12:50:04 am
Aun lo sigo usando 8), y no soy el unico. Me siento mas comodo al usarlo que las nuevas versiones(todavia no me acostumbro al GMS)

 


Desconectado brunoxzx

Respuesta #3 en: Agosto 04, 2018, 07:13:55 am
Me gusta está función, es de las más importantes cuando programas una IA. Te comento que existe esta versión de una linea que era muy usada antes que existiera el gm:studio, la dejo por aquí ya que es interesante el funcionamiento:

/// angle_difference(angle1, angle2)
//
//  Returns the relative angle [-180..180] between the given angles.
//
//      angle1      1st direction in degrees
//      angle2      2nd direction in degress
//
/// GMLscripts.com/license
{
    return ((((argument0 - argument1) mod 360) + 540) mod 360) - 180;
}