Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///Create event
- ///Intialize variables
- dir = -1; //-1 moving left 1 moving right
- movespeed = 3; //max hor speed
- grav = 0.2; //gravity to object per frame
- hsp = 0; //current horizontial speed
- vsp = 0; //current vertical speed
- fearheight = 0; //flag turn on or off walking off edges
- ///Step event
- /Movement
- hsp = dir * movespeed; //movement # of pixels to whichever direction
- vsp += grav; //vsp will be reset when we hit the floor
- //Collision detection
- //Horizontial collision
- if (place_meeting(x + hsp, y, obj_solid))
- {
- while (!place_meeting (x + sign(hsp), y, obj_solid))
- {
- x += sign(hsp);
- }
- hsp = 0;
- dir *= -1;
- }
- x += hsp;
- //Vertical collision
- if (place_meeting(x, y + vsp, obj_solid))
- {
- while (!place_meeting(x, y + sign (vsp), obj_solid))
- {
- y += sign (vsp);
- }
- vsp = 0;
- if (fearheight) && !position_meeting( x+(sprite_width/2)*dir, y + (sprite_height/2) + 8, obj_solid)
- {
- dir *= -1;
- }
- }
- y += vsp;
- ///Collision w/ obj_playercube ///You likely can ignore this part
- instance_destroy(obj_playercube)//Need to make so only player postion resets, not anything else (enemies,etc)
- audio_play_sound(snd_dead,1,0);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement