Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //CREATE EVENT
- grv = 0.2; //gravity
- hsp = 0; //current horizontal speed
- vsp = 0; //current vertical speed
- hspWalk = 4; //walk speed
- vspJump = -5; //jump speed
- canJump = 0; //above zero while we are able to jump
- onGround = false; //are we on the ground?
- //STEP EVENT
- //Get inputs
- var _keyRight = keyboard_check(vk_right);
- var _keyLeft = keyboard_check(vk_left);
- var _keyJump = keyboard_check_pressed(vk_space);
- slopeOn = keyboard_check(vk_control);
- //Work out where to move horizontally
- hsp = (_keyRight - _keyLeft) * hspWalk;
- //Work out where to move vertically
- vsp = vsp + grv;
- //Work out if we should jump
- if (canJump-- > 0) && (_keyJump)
- {
- vsp = vspJump;
- canJump = 0;
- }
- //Are we on the ground?
- onGround = place_meeting(x,y+1,oWall);
- //Horizontal move & collide
- var _hCol = move_and_collide(hsp, 0, oWall, abs(hsp))
- //Walk down slope
- if (onGround) && (place_meeting(x,y + abs(hsp) + 1 ,oWall)) && (vsp >= 0)
- {
- vsp += abs(hsp) + 1;
- }
- //Vertical move & collide
- var _vCol = move_and_collide(0, vsp, oWall, abs(vsp)+1 , hsp, vsp, hsp, vsp)
- if (array_length(_vCol) > 0)
- {
- if (vsp > 0) canJump = 10;
- vsp = 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement