GML
var _id,odl, odl2;
_id=-1
odl=-1
odl2=-1
with(obj_item){
if(t==true){
other.odl2=point_distance(x,y,other.x,other.y)
if(other.odl==-1){
other._id=id
other.odl=other.odl2
}else{
if(point_distance(x,y,other.x,other.y)<other.odl){
other._id=id
other.odl=other.odl2
}
}
}
}
mam glupia klawiature moglem machnac literowki :)
nudzi mi się, więc rozpisze.
1. tworzysz 3 zmienne, ktore potem ci sie przydadza
_id to id najblizszej instancji ze zmienna
odl to odleglosc do tegóż obiektu
odl2 to juz calkiem pomocnicza zeby 2 razy nie sprawdzac point_distance
2. przelatujesz wszystkie instancje itemow i albo sprawdzasz, czy jeszcze nie sprawdzales(if(odl==-1)) albo czy odleglosc od przelatywanego jest mniejsza od najblizszego aktualnego i jesli to sie zgadza to nadpisujesz najblizszy
3. _id to id najblizszego ze zmienna! :D