Comunidad Game Maker

Ayuda => Desarrollo de Scripts => Mensaje iniciado por: Markus en Noviembre 22, 2009, 11:45:00 PM

Título: Snap Isométrico (Actualizado 23/11/2009)
Publicado por: Markus en Noviembre 22, 2009, 11:45:00 PM

Citar
//move_snap_iso(hsnap, vsnap);
var W, H;
W = argument0 / 2;
H = argument1 / 2;
I = round(x / W);
J = round(y / H);

if ((I mod 2 = 0 && J mod 2 = 0) || (I mod 2 == 1 && J mod 2 == 1))
{
    x = W * I;
    y = H * J;
}
else if (I mod 2 = 0 && J mod 2 == 1)
{
    if (x > W * I)
        x = W * (I + 1);
    else
        x = W * (I - 1);
    y = H * J;
}
else if (I mod 2 == 1 && J mod 2 = 0)
{
    x = W * I;
    if (y > H * J)
        y = H * (J + 1);
    else
        y = H * (J - 1);
}

A petición de Kakashigna:

Para saber si la instancia está ya posicionada en la cuadrilla:

Citar
//place_snapped_iso(hsnap, vsnap);
var X, Y, B;
X = x;
Y = y;
move_snap_iso(argument0, argument1);
B = (X == x && Y == y);
x = X;
y = Y;
return B;



Título: Re: Move Snap Isom?trico
Publicado por: kakashigna en Noviembre 23, 2009, 06:49:28 AM
interesante script... deberias hacer tambien un place_snap(no recuerdo si se llama asi) de isometrico tambien seria util

bueno el script markus

salu2 ;D