Advertisement
Guest User

Untitled

a guest
Jan 5th, 2017
509
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. /// platform physics
  2.  
  3. var rkey = keyboard_check(vk_right);
  4. var lkey = keyboard_check(vk_left);
  5. var jkey = keyboard_check_pressed(vk_up);
  6.  
  7. // Check for ground
  8. if (place_meeting(x, y+1, obj_solid)) {
  9. airjump = 1;
  10. vspd = 0;
  11.  
  12. // Jumping
  13. if (jkey) {
  14. vspd = -jspd;
  15. }
  16. } else {
  17. //Gravity
  18. if (vspd < 10){
  19. vspd += grav;
  20. }
  21.  
  22. if(keyboard_check_released(vk_up) && vspd <-4) {
  23. vspd = -4;
  24. }
  25.  
  26. //Check for airjump
  27. if (airjump > 0){
  28. if (jkey) {
  29. vspd = -jspd;
  30. airjump -= 1;
  31. }
  32. }
  33. }
  34.  
  35.  
  36. // Moving right
  37. if (rkey) {
  38. hspd = spd
  39. }
  40.  
  41. // Moving left
  42. if (lkey) {
  43. hspd = -spd;
  44. }
  45.  
  46. // Check for not moving
  47. if ((!lkey && !rkey) || (rkey && lkey)) {
  48. hspd = 0;
  49. }
  50.  
  51. // Horizontal collisions
  52. if (place_meeting(x+hspd, y, obj_solid)) {
  53. while (!place_meeting(x+sign(hspd), y, obj_solid)) {
  54. x += sign(hspd);
  55. }
  56. hspd = 0;
  57. }
  58.  
  59. //Move horizontally
  60. x += hspd;
  61.  
  62. // Verical collisions
  63. if (place_meeting(x, y+vspd, obj_solid)) {
  64. while (!place_meeting(x, y+sign(vspd), obj_solid)) {
  65. y += sign(vspd);
  66. }
  67. vspd = 0;
  68. }
  69. // Move vertically
  70. y += vspd;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement