PlayerGameSK

GMS 2 Part.1 - PlayerGameSK - o_player Step Event

Oct 8th, 2017
1,181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. /// @description Control the player
  2.  
  3. // Initialize control variables
  4. key_left = keyboard_check(ord("A"));
  5. key_right = keyboard_check(ord("D"));
  6. key_jump = keyboard_check_pressed(vk_space);
  7.  
  8. // Check for ground
  9. if (place_meeting(x, y+1, o_wall))
  10. {
  11. {
  12. vspd = 0;
  13. }
  14.  
  15. // Jumping
  16. if (key_jump)
  17. {
  18. vspd = -jspd;
  19. }
  20. }
  21. else
  22. {
  23. // Gravity
  24. if (vspd < 10)
  25. {
  26. vspd += grav;
  27. }
  28. }
  29.  
  30. // Move left
  31. if (key_left)
  32. {
  33. hspd = -spd;
  34. }
  35.  
  36. // Move right
  37. if (key_right)
  38. {
  39. hspd = spd;
  40. }
  41.  
  42. // Horizontal collisions
  43. if (place_meeting(x+hspd, y, o_wall))
  44. {
  45. while (!place_meeting(x+sign(hspd), y, o_wall))
  46. {
  47. x += sign(hspd);
  48. }
  49. hspd = 0;
  50. }
  51.  
  52. // Move horizontally
  53. x += hspd;
  54.  
  55. // Vertical collisions
  56. if (place_meeting(x, y+vspd, o_wall))
  57. {
  58. while (!place_meeting(x, y+sign(vspd), o_wall))
  59. {
  60. y += sign(vspd);
  61. }
  62. vspd = 0;
  63. }
  64.  
  65. // Move vertically
  66. y += vspd;
  67.  
  68. // Idle
  69. if (!key_left) && (!key_right)
  70. {
  71. hspd = 0;
  72. }
Add Comment
Please, Sign In to add comment