Skocz do zawartości

Akcja z widocznym obiektem


uzu13

Rekomendowane odpowiedzi

  • Administratorzy

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.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...