Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //set accSp to something less than 1 in create event
- //set hsp and vsp to 0 in create event
- //movement/collisions
- hInc=(accSp*sign(hsp))
- vInc=(accSp*sign(vsp))
- absH=abs(hsp)
- absV=abs(vsp)
- spMax=max(absH,absV)
- absVInc=abs(vInc)
- absHInc=abs(hInc)
- if absH>absV{
- vInc=(absV/absH)*vInc
- }
- if absV>absH{
- hInc=(absH/absV)*hInc
- }
- xFloor=false
- yFloor=false
- for(var i=0;i<spMax;i+=accSp){
- if !place_meeting(x+hInc,y,obj_collision){
- x+=hInc
- }
- else{
- hsp=0
- xFloor=true
- }
- if !place_meeting(x,y+vInc,obj_collision){
- y+=vInc
- }
- else{
- vsp=0
- yFloor=true
- }
- }
- if place_meeting(x+1,y,obj_collision) or xFloor{
- x=floor(x)
- }
- if place_meeting(x,y+1,obj_collision) or yFloor{
- y=floor(y)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement