VERWENDUNGSZWECK:
Gibt alle Instanzen innerhalb eines Radius in einer ds_list zurück oder noone, wenn keine Instanz gefunden wurde.
Schnelle Alternative wenn keine präzise Kollision benötigt wird. Kann auch zum vorsortieren von Kollisionen verwendet werden etc.
SCRIPT:
Alles anzeigen
BEISPIEL:
Gibt alle Instanzen innerhalb eines Radius in einer ds_list zurück oder noone, wenn keine Instanz gefunden wurde.
Schnelle Alternative wenn keine präzise Kollision benötigt wird. Kann auch zum vorsortieren von Kollisionen verwendet werden etc.
SCRIPT:
GML-Quellcode
- ///instance_in_sphere(x,y,r,obj)
- //Returns noone or ds_list containing all instances within radius
- var x1,y1,obj,rr,dsid,this,i;
- x1 = argument0;
- y1 = argument1;
- rr = argument2;
- obj = argument3;
- dsid = ds_list_create();
- this = id;
- with (obj) {
- if (point_distance(x,y,this.x,this.y) <= rr) {
- ds_list_add(dsid,id);
- }
- }
- if (ds_list_empty(dsid)) {
- ds_list_destroy(dsid);
- dsid = noone;
- }
- return dsid;
BEISPIEL:
132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code...