Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. //get player input
  2. key_right = keyboard_check(vk_right);
  3. key_left = -keyboard_check(vk_left);
  4. key_jump = keyboard_check_pressed(vk_space);
  5.  
  6. //react to imput
  7. move = key_right + key_left;
  8.  
  9. hsp = move * movespeed;
  10.  
  11. if (vsp < 10) vsp += grav;
  12.  
  13. if (place_meeting(x,y+1,obj_wall))
  14. {
  15. vsp = key_jump * -jumpspeed
  16. }
  17.  
  18. //horizontal collisions
  19. if (place_meeting(x+hsp,y,obj_wall))
  20. {
  21. while(!place_meeting(x+sign(hsp),y,obj_wall))
  22. {
  23. x += sign(hsp);
  24. }
  25.  
  26. hsp = 0;
  27. }
  28.  
  29. x += hsp;
  30.  
  31. //vertical collisions
  32. if (place_meeting(x,y+vsp,obj_wall))
  33. {
  34. while(!place_meeting(x,y+sign(vsp),obj_wall))
  35. {
  36. y += sign(vsp);
  37. }
  38. vsp = 0;
  39. }
  40.  
  41. y += vsp;
  42.  
  43. //animate
  44.  
  45. if (move!=0) image_xscale = move;
  46.  
  47. if (place_meeting(x,y+1,obj_wall))
  48. {
  49. if (move!=0) sprite_index = spr_player_run; else sprite_index = spr_player_idle;
  50. }
  51. //else
  52. //{
  53. if (vsp < 0) sprite_index = spr_player_jump //; else sprite_index = spr_player_fall;
  54.  
  55. if (vsp > 0) sprite_index = spr_player_jump
  56. //}
  57.  
  58. if(place_meeting(x,y+1,obj_wall)){
  59. //logic to change sprite to run or idle
  60. }
  61. else if (vsp<0 or vsp>0){
  62. //logic to change to jump
  63. }
  64. else{
  65. /*have some kind of debugging info here to detect if none of the above conditions are
  66. being satisfied. Maybe turn the sprite into some other sprite completely so you know
  67. something went wrong. That would help know what part is causing the problem.*/
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement