Position meeting

Example
If an object has a vertical speed of 30 and must stop on the floor, it will likely pass through the floor because the collision detection of Game Maker is not very accurate at high speed. To make it land beautifully, we can use: if (position_meeting(x,{y+5,obj_land) and vspeed > 25) { vspeed=15 gravity= 0.8 } Read: If obj_land is at position: x and y+5, and the vertical speed is greater than 25, set the vertical speed to 15. You can also use this formula to get better pre-collision event. If a monster is 3 pixels away from you, you could prefer to loose health now, and make the player or the monster bounce away from each other, to prevent multi collision, resulting in major health lost (it can be quite annoying) To prevent this, you can use: if position_meeting(x+3,y,obj_monster) { health-=5; move_bounce_all(true); with(obj_monster) move_bounce_all(true); } Read: if obj_monster is at position: x+3 and y, bounce against all precisely and with obj_monster, bounce against all precisely. You can replace the x and y coordinate by any other coordinate, with or without implying the x or y. Remember that, if you want to check the position_meeting by another obj from an object, you simply use the name of the object (dot) x coordinate and so on for y. if position_meeting(Player.x+3,Monster.y-2,obj_wall)