/// 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;