piensa en un triangulo rectángulo con dos lados iguales (catetos), el tercero siempre será mas grande (hipotenusa), si los lados iguales miden 1, el otro medirá raíz cuadrada de 2 (sqrt(2)).
para poder mover tu objeto con relativa precisión deberás tomar los componentes X y Y de la velocidad diagonal que quieres asi:
[gml]
x += velocidad*cos(degtorad(dirección )) //dirección = múltiplos de 45
y += velocidad*sin(degtorad(dirección ))
[/gml]
o mejor:
[gml]
x += lengthdir_x(velocidad, dirección)//dirección = múltiplos de 45
y += lengthdir_y(velocidad, dirección)
[/gml]
para poder mover tu objeto con relativa precisión deberás tomar los componentes X y Y de la velocidad diagonal que quieres asi:
[gml]
x += velocidad*cos(degtorad(dirección )) //dirección = múltiplos de 45
y += velocidad*sin(degtorad(dirección ))
[/gml]
o mejor:
[gml]
x += lengthdir_x(velocidad, dirección)//dirección = múltiplos de 45
y += lengthdir_y(velocidad, dirección)
[/gml]