instance_position_list

With this function you can check a position for a collision with all instances of another object or tile maps.

When you use this you are checking a single point in the room, and the check will be done against the bounding box of the instances or against the mask of the instances if that object has precise collisions checked.

In addition to objects and instances, the function also accepts:

Passing an array allows you to check for collisions against multiple objects and/or Tile Maps in one call.

You supply a DS list too, so the id values of any instances or tile maps that are colliding with the calling instance will be added to the end of the given list. You can clear the list before calling this function so that it only contains results from this function call. You also have the option to order the list based on the distance from the position being checked to the origin of the instances found to be in collision.

The function returns the number of instances / tile maps found, or 0 if none are found.

See: Collisions

 

Syntax:

instance_position_list(x, y, obj, list, ordered);

ArgumentTypeDescription
xRealThe x position to check for instances.
yRealThe y position to check for instances.
objObject Asset or Object Instance or Tile Map Element ID or ArrayAn object, instance, tile map ID, keywords all/other, or array containing these items
listDS ListThe DS list to use to store the IDs of colliding instances.
orderedBooleanWhether the list should be ordered by distance (true) or not (false).

 

Returns:

Real (The number of instances / tile maps found to be in collision)

 

Example:

var _list = ds_list_create();
var _num = instance_position_list(mouse_x, mouse_y, all, _list, false);
if (_num > 0)
{
    for (var i = 0; i < _num; ++i;)
    {
        instance_destroy(_list[| i]);
    }
}
ds_list_destroy(_list);

The above code will check for a collision with all instances found at the mouse position. These will be added to a DS list, which is then looped through to destroy each of the instances in collision.