Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// @desc Movement / Animation
- // Variables
- key_up = max(keyboard_check(vk_up), keyboard_check(ord("W")), 0);
- key_down = max(keyboard_check(vk_down), keyboard_check(ord("S")), 0);
- key_left = max(keyboard_check(vk_left), keyboard_check(ord("A")), 0);
- key_right = max(keyboard_check(vk_right), keyboard_check(ord("D")), 0);
- up_collision = (!place_free(x, y-3))
- down_collision = (!place_free(x, y+3))
- left_collision = (!place_free(x-5, y))
- right_collision = (!place_free(x+5, y))
- // Movement / Animation
- if key_up and !up_collision {
- y -= walkSpeed;
- image_speed = walkSpeed / 6;
- sprite_index = spr_plr_walk_up
- }
- if key_down and !down_collision {
- y += walkSpeed;
- image_speed = walkSpeed / 6;
- sprite_index = spr_plr_walk_down
- }
- if key_left and !left_collision {
- x -= walkSpeed;
- image_speed = walkSpeed / 6;
- sprite_index = spr_plr_walk_left
- }
- if key_right and !right_collision {
- x += walkSpeed;
- image_speed = walkSpeed / 6;
- sprite_index = spr_plr_walk_right
- }
- if (keyboard_check(vk_nokey)) {
- image_speed = 0;
- image_index = 0;
- walkSpeed = 2;
- }
- // Sprint Movement
- // Option 1 = X Sprint
- if (keyboard_check_released(ord("X"))) {
- walkSpeed = 2;
- }
- if (keyboard_check(ord("X"))) {
- walkSpeed = 2.5;
- }
- // Option 2 = Shift Sprint
- if (keyboard_check_released(vk_shift)) {
- walkSpeed = 2;
- }
- if (keyboard_check(vk_shift)) {
- walkSpeed = 2.5;
- }
- // Stop Direction when Collision
- if key_up and up_collision {
- image_speed = 0;
- sprite_index = spr_plr_walk_up; }
- if key_down and down_collision {
- image_speed = 0;
- sprite_index = spr_plr_walk_down; }
- if key_left and left_collision {
- image_speed = 0;
- sprite_index = spr_plr_walk_left; }
- if key_right and right_collision {
- image_speed = 0;
- sprite_index = spr_plr_walk_right; }
- // Collisions with Up
- if key_left and up_collision {
- image_speed = walkSpeed / 6
- sprite_index = spr_plr_walk_left; }
- if key_right and up_collision {
- image_speed = walkSpeed / 6
- sprite_index = spr_plr_walk_right; }
- // Collisions with Up-Left
- if key_left and up_collision and left_collision {
- image_speed = walkSpeed / 6
- sprite_index = spr_plr_walk_left; }
- // Collisions with Up-Right
- if key_right and up_collision and right_collision {
- image_speed = walkSpeed / 6
- sprite_index = spr_plr_walk_right; }
- // Collisions with Down
- if key_left and down_collision {
- image_speed = walkSpeed / 6
- sprite_index = spr_plr_walk_left; }
- if key_right and down_collision {
- image_speed = walkSpeed / 6
- sprite_index = spr_plr_walk_right; }
- // Collisions with Down-Left
- if key_left and down_collision and left_collision {
- image_speed = walkSpeed / 6
- sprite_index = spr_plr_walk_left; }
- // Collisions with Down-Right
- if key_right and down_collision and right_collision {
- image_speed = walkSpeed / 6
- sprite_index = spr_plr_walk_right; }
- // Collisions with Left
- if key_up and left_collision {
- image_speed = walkSpeed / 6
- sprite_index = spr_plr_walk_up; }
- if key_down and left_collision {
- image_speed = walkSpeed / 6
- sprite_index = spr_plr_walk_down; }
- // Collisions with Right
- if key_up and right_collision {
- image_speed = walkSpeed / 6
- sprite_index = spr_plr_walk_up; }
- if key_down and right_collision {
- image_speed = walkSpeed / 6
- sprite_index = spr_plr_walk_down; }
- // Corner Collision
- if up_collision and left_collision
- image_speed = 0;
- if up_collision and right_collision
- image_speed = 0;
- if down_collision and left_collision
- image_speed = 0;
- if down_collision and right_collision
- image_speed = 0;
- // Keep Direction when Stopped
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement