collision_rectangle_list
WARNING: This script is obsolete! GameMaker now has a function with the same name that works similarly to this script and has more features. This script has been removed from the GMLscripts.com index and only appears here for historical purposes.
NOTE: Don't forget to destroy the returned list when you are done with it, otherwise you'll have a memory leak.
- collision_rectangle_list(x1,y1,x2,y2,obj,prec,notme)
- Returns a list data structure populated with the ids of instances colliding with a given rectangle, or noone if no instances found.
COPY/// collision_rectangle_list(x1,y1,x2,y2,obj,prec,notme)
//
// Returns a list data structure populated with the ids of instances
// colliding with a given rectangle, or noone if no instances found.
//
// x1,y1 first corner of the collision rectangle (filled), real
// x2,y2 opposite corner of the collision rectangle (filled), real
// obj object to check for collision (or all), real
// prec true for precise collision checking, bool
// notme true to ignore the calling instance, bool
//
/// GMLscripts.com/license
{
var x1,y1,x2,y2,obj,prec,notme,dsid,i;
x1 = argument0;
y1 = argument1;
x2 = argument2;
y2 = argument3;
obj = argument4;
prec = argument5;
notme = argument6;
dsid = ds_list_create();
with (obj) {
if (!notme || id != other.id) {
i = collision_rectangle(x1,y1,x2,y2,id,prec,false);
if (i != noone) ds_list_add(dsid,i);
}
}
if (ds_list_empty(dsid)) {
ds_list_destroy(dsid);
dsid = noone;
}
return dsid;
}
Contributors: xot
GitHub: View · Commits · Blame · Raw