Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// Ob_Hero STEP Event
- // Get player input
- key_up = keyboard_check(vk_up) || keyboard_check(ord("W"));
- key_dn = keyboard_check(vk_down) || keyboard_check(ord("S"));
- key_lf = keyboard_check(vk_left) || keyboard_check(ord("A"));
- key_rt = keyboard_check(vk_right) || keyboard_check(ord("D"));
- // Get input vector
- input_dir = point_direction(0, 0, (key_rt - key_lf), (key_dn - key_up));
- input_mag = (key_rt - key_lf != 0) || (key_dn - key_up != 0);
- // Calculate movement vector
- x_speed = lengthdir_x((input_mag * walk_speed), input_dir);
- y_speed = lengthdir_y((input_mag * walk_speed), input_dir);
- //
- //if (input_mag == 0)
- // { x = round(x); y = round(y); }
- // Comit movement
- player_collision();
- // Save previous sprite to compare later
- var _oldsprite = sprite_index;
- // Update sprite index
- if (input_mag != 0)
- {
- direction = input_dir;
- sprite_index = sprite_walk;
- }
- else
- {
- sprite_index = sprite_idle;
- }
- // Reset local frame whenever sprite index changes
- if (_oldsprite != sprite_index)
- { local_frame = 0; }
- // Update image index
- player_animate_sprite();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement