To jest dobre pytanie, ale wcale nie takie proste do zrobienia, bo one mają wszystkie ten sam depth teoretycznie i tylko inne ID (i to po nim są PRAWDOPODOBNIE rysowane, ale nie musi tak być - to już kwestia tego jak sobie GM w pamięci je ustawi).
Ja bym spróbował tak, w zdarzeniu on mouse global X buton press (ale nie tych obiektów a jakiegoś kontrolera, zeby wykonac to raz):
GML
var _d = ds_list_create();
with(obiekt1) {
// jeśli ten obiekt jest pod myszką, to dodaj go do listy
if position_meeting(mouse_x,mouse_y,self) {
ds_list_add(_d,id);
}
}
ds_list_sort(_d, false); // sortuj ID malejąco, najwyższe będzie wtedy pierwsze, a to powinien być ostatnio tworzony obiekt
if (ds_list_size() > 0) {
with (ds_list_find_value(_d, 0)) {
instance_destroy();
}
}
ds_list_destroy(_d);
Ale jak widzisz, w ten sposób odwołujesz się do wszystkich obiektów, co może być wolne (nie wiem czy na tyle, zeby było zauważalne, ale na pewno jest nieoptymalne, bo with w GM zawsze taki będzie). Mam nadzieję, ze nic nie pomyliłem w argumentach funkcji, no i zabezpieczyłem przed pustą listą nawet.