SteelGolem icon

ZeldaOoS/OoA improvement on angled movement code

SteelGolem | PRO | 01/12/17 09:48:18 PM UTC | 0 ⭐ | 10321 👁️ | Never ⏰ | []
Game Maker |

0 B

|

None

|

0 👍

/

0 👎

/// obj_link_Step
 
var up = keyboard_check(vk_up);
var down = keyboard_check(vk_down);
var left = keyboard_check(vk_left);
var right = keyboard_check(vk_right);
 
var dx = right - left;
var dy = down - up;
 
if (dx == 0 && dy == 0) // no dpad input
{
    image_speed = 0; // not moving, so don't animate
}
else // some dpad input
{
    image_speed = 0.2; // moving, so animate
    
    if (dx != 0 && dy != 0) // diagonal dpad input
    {
        // do nothing for ZeldaLA walking emulation (sweet moonwalkin' action!)
        
        // for ZeldaOoS/OoA, if sprite_index doesn't match the direction, pick the other sprite_index
        /*
        if (sprite_index == spr_link_walking_up && dy == 1) sprite_index = spr_link_walking_down;
        if (sprite_index == spr_link_walking_down && dy == -1) sprite_index = spr_link_walking_up;
        if (sprite_index == spr_link_walking_left && dx == 1) sprite_index = spr_link_walking_right;
        if (sprite_index == spr_link_walking_right && dx == -1) sprite_index = spr_link_walking_left;
        */
    }
    else // axis-aligned dpad input
    {
        if (left) sprite_index = spr_link_walking_left;
        if (right) sprite_index = spr_link_walking_right;
        if (up) sprite_index = spr_link_walking_up;
        if (down) sprite_index = spr_link_walking_down;
    }
}
 
var move_speed = 2.0;
x += dx * move_speed;
y += dy * move_speed;

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎