Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// @description Player Movement
- var hinput = keyboard_check(vk_right) - keyboard_check(vk_left);
- var crouch = keyboard_check(vk_down);
- if crouch!=0 && crawl = 0 {
- currentaccel = 0;
- } else currentaccel = accel*speedbuff
- //Run
- if hinput !=0 && crouch=0{
- hsp += hinput*currentaccel;
- hsp = clamp(hsp, -max_hsp, max_hsp);
- image_speed = 1;
- sprite_index = spr_player_run;
- image_xscale = sign(hsp)*1;
- crawl = 0;
- // Slide
- } else if hinput !=0 && hsp !=0 && crouch && crawl != 1{
- sprite_index = spr_player_slide;
- image_speed = 0;
- image_index = 1;
- hsp = lerp(hsp, 0, frict-.2);
- if (abs(0 - hsp) < .12) hsp = 0
- crawl = 0;
- // Crawl
- } else if hsp=0 && hinput != 0 && crouch || hinput != 0 && crouch && crawl != 0 {
- crawl = 1;
- hsp = hinput*accel;
- sprite_index = spr_player_crawl;
- image_speed = 1;
- image_xscale = sign(hsp)*1;
- // Crouch
- } else if hinput = 0 && crouch || hsp = 0 && crouch {
- sprite_index = spr_player_crouched;
- hsp = 0;
- crawl = 0;
- //Stand
- } else {
- hsp = lerp(hsp, 0, frict);
- sprite_index = spr_player_stand;
- crawl = 0;
- }
- //In Air
- if !place_meeting(x, y+1, obj_solid) {
- vsp += grv;
- }
- //Jump
- else {
- if keyboard_check_pressed(vk_up) && !crouch {
- vsp = jump_height;
- }
- }
- //Wall Collision
- if place_meeting(x+hsp, y, obj_solid) {
- while !place_meeting(x+sign(hsp), y, obj_solid) {
- x += sign(hsp);
- }
- hsp = 0;
- }
- x += hsp;
- //Floor Collision
- if place_meeting(x, y+vsp, obj_solid) {
- while !place_meeting(x, y+sign(vsp), obj_solid) {
- y += sign(vsp);
- }
- vsp = 0;
- }
- y += vsp;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement