Advertisement
Guest User

Untitled

a guest
Dec 2nd, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /// @desc Movement / Animation
  2.  
  3. // Variables
  4.  
  5. key_up = max(keyboard_check(vk_up), keyboard_check(ord("W")), 0);
  6. key_down = max(keyboard_check(vk_down), keyboard_check(ord("S")), 0);
  7. key_left = max(keyboard_check(vk_left), keyboard_check(ord("A")), 0);
  8. key_right = max(keyboard_check(vk_right), keyboard_check(ord("D")), 0);
  9.  
  10. up_collision = (!place_free(x, y-3))
  11. down_collision = (!place_free(x, y+3))
  12. left_collision = (!place_free(x-5, y))
  13. right_collision = (!place_free(x+5, y))
  14.  
  15. // Movement  / Animation
  16.  
  17. if key_up and !up_collision {
  18.     y -= walkSpeed;
  19.     image_speed = walkSpeed / 6;
  20.     sprite_index = spr_plr_walk_up
  21. }
  22. if key_down and !down_collision {
  23.     y += walkSpeed;
  24.     image_speed = walkSpeed / 6;
  25.     sprite_index = spr_plr_walk_down
  26. }
  27. if key_left and !left_collision {
  28.     x -= walkSpeed;
  29.     image_speed = walkSpeed / 6;
  30.     sprite_index = spr_plr_walk_left
  31. }
  32. if key_right and !right_collision {
  33.     x += walkSpeed;
  34.     image_speed = walkSpeed / 6;
  35.     sprite_index = spr_plr_walk_right
  36. }
  37. if (keyboard_check(vk_nokey)) {
  38.     image_speed = 0;
  39.     image_index = 0;
  40.     walkSpeed = 2;
  41. }
  42.  
  43. // Sprint Movement
  44.  
  45. // Option 1 = X Sprint
  46.  
  47. if (keyboard_check_released(ord("X"))) {
  48.     walkSpeed = 2;
  49. }
  50. if (keyboard_check(ord("X"))) {
  51.     walkSpeed = 2.5;
  52. }
  53. // Option 2 = Shift Sprint
  54.  
  55. if (keyboard_check_released(vk_shift)) {
  56.     walkSpeed = 2;
  57. }
  58. if (keyboard_check(vk_shift))  {
  59.     walkSpeed = 2.5;
  60. }
  61.  
  62. // Stop Direction when Collision
  63.  
  64. if key_up and up_collision {
  65.     image_speed = 0;
  66.     sprite_index = spr_plr_walk_up; }
  67.    
  68. if key_down and down_collision {
  69.     image_speed = 0;
  70.     sprite_index = spr_plr_walk_down; }
  71.    
  72. if key_left and left_collision {
  73.     image_speed = 0;
  74.     sprite_index = spr_plr_walk_left; }
  75.    
  76. if key_right and right_collision {
  77.     image_speed = 0;
  78.     sprite_index = spr_plr_walk_right; }
  79.    
  80.    
  81. // Collisions with Up
  82.    
  83. if key_left and up_collision {
  84.     image_speed = walkSpeed / 6
  85.     sprite_index = spr_plr_walk_left; }
  86.    
  87. if key_right and up_collision {
  88.     image_speed = walkSpeed / 6
  89.     sprite_index = spr_plr_walk_right; }
  90.    
  91. // Collisions with Up-Left
  92.  
  93. if key_left and up_collision and left_collision {
  94.     image_speed = walkSpeed / 6
  95.     sprite_index = spr_plr_walk_left; }
  96.    
  97. // Collisions with Up-Right
  98.    
  99. if key_right and up_collision and right_collision {
  100.     image_speed = walkSpeed / 6
  101.     sprite_index = spr_plr_walk_right; }
  102.    
  103. // Collisions with Down
  104.  
  105. if key_left and down_collision {
  106.     image_speed = walkSpeed / 6
  107.     sprite_index = spr_plr_walk_left; }
  108.    
  109. if key_right and down_collision {
  110.     image_speed = walkSpeed / 6
  111.     sprite_index = spr_plr_walk_right; }
  112.    
  113. // Collisions with Down-Left
  114.  
  115. if key_left and down_collision and left_collision {
  116.     image_speed = walkSpeed / 6
  117.     sprite_index = spr_plr_walk_left; }
  118.    
  119. // Collisions with Down-Right
  120.    
  121. if key_right and down_collision and right_collision {
  122.     image_speed = walkSpeed / 6
  123.     sprite_index = spr_plr_walk_right; }
  124.    
  125. // Collisions with Left
  126.  
  127. if key_up and left_collision {
  128.     image_speed = walkSpeed / 6
  129.     sprite_index = spr_plr_walk_up; }
  130.    
  131. if key_down and left_collision {
  132.     image_speed = walkSpeed / 6
  133.     sprite_index = spr_plr_walk_down; }
  134.  
  135. // Collisions with Right
  136.  
  137. if key_up and right_collision {
  138.     image_speed = walkSpeed / 6
  139.     sprite_index = spr_plr_walk_up; }
  140.    
  141. if key_down and right_collision {
  142.     image_speed = walkSpeed / 6
  143.     sprite_index = spr_plr_walk_down; }
  144.    
  145.    
  146. // Corner Collision
  147.  
  148. if up_collision and left_collision
  149.     image_speed = 0;
  150.    
  151. if up_collision and right_collision
  152.     image_speed = 0;
  153.    
  154. if down_collision and left_collision
  155.     image_speed = 0;
  156.    
  157. if down_collision and right_collision
  158.     image_speed = 0;
  159.    
  160. // Keep Direction when Stopped
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement