All pastes #996373 Raw Edit

Collision

public text v1 · immutable
#996373 ·published 2008-04-24 21:57 UTC
rendered paste body
//Unmove previous move
x=xprevious;
y=yprevious;
//Move until you hit the wall
move_contact_solid(direction,speed);
//If you hit the ground
if(!place_free(x,y+1)){
    //Don't move up or down
    vspeed=0;
    //Set our "ground" variable
    onGround=true;
    //Turn off gravity so we can move
    gravity=0;
}
//If you hit the ceiling
if(!place_free(x,y-1)) vspeed=0;
//If you hit a wall going right
if(!place_free(x+1,y)) hspeed=0;
//If you hit a wall going left
if(!place_free(x-1,y)) hspeed=0;