Updated to 2.1
Download in first post.
*Fix: Setting object to immovable after creating a joint in a "pre step" or "post collide" condition. Actually the fix should correct any errors claiming stuff is being added twice.
*Fix: Setting immovable to No when it was immovable caused and error.
*Fix: Angle would become nan if both connected bodies of a joint were immovable.
*Fix: choosing 'Is disabled' condition would give 'For each collision pair' instead.
*Fix: Error about removing/adding shape that isn't or already is in space.
keepee
Thanks, it was a typo on my part. I'm surprised that C2 didn't complain about that one.
Prominent
mattb
Using the custom movement behavior isn't ideal for that sort of thing. Attached is a way to find the point on the edge of a shape. toggle between events 3 and 4.
Event 3 uses the contact depth and normal to find the point on the edge, which works for other object's corners, but not the current object's corners. Not much can be done there as it's how the library works.
Event 4 uses the query from point condition to find the closest point on the edge. This probably won't work the way you want with tilemaps though.
Contact points are only accessible from under the "post collide" and "for each collision pair" conditions. So yeah you'd need to save the info to variables to use outside of that.
A segment query from the object's center to the contact point may be one solution.