Skocz do zawartości

Left mouse click - usuwaj obiekt na wierzchu


Hawaxi

Rekomendowane odpowiedzi

Witam,

W pokoju tworzy mi się pełno tych samych obiektów obj_black one się przemieszczają i czasami na siebie nachodzą. Chce aby po kliknięciu lpm obiekt na wierzchu się usuwał.

 

W create:

GML
depth = irandom_range(1,999999);

lista = ds_list_create();

 

W left pressed:

GML
ds_list_add(lista,depth);

ds_list_sort(lista, true); //sortuj najmniejszy ---> najwiekszy

global.szukam = ds_list_find_value(lista,1); // 1- najmniejszy

if depth = global.szukam

{

instance_destroy();

global.szukam = 0;

}

 

W tym kodzie muszę klikać 2 razy lpm (nie wiem dlaczego), do tego czasami nawet obiekty nie na wierzchu się usuwają.

Odnośnik do komentarza
Udostępnij na innych stronach

Masz mnóstwo pustych list, jak klikasz to tworzysz 1 element i usuwasz cały obiekt (razem z listą).

Mam pytanie: ma usuwać się obiekt o najmniejszym depth czy obiekt o najmniejszym depth pod myszką?

E:Jeżeli to pierwsze to potrzebujesz nowy obiekt. Powiedzmy ds_ctrl

CREATE

GML
global.pq=ds_priority_create();

GLOBAL LEFT PRESSED

GML
with(ds_priority_delete_min(global.pg))

instance_destroy()

i w twoim obiekcie wystarczy CREATE

GML
depth=irandom_range(1,999999);

ds_priority_add(global.pq,id,depth);

Odnośnik do komentarza
Udostępnij na innych stronach

To obiekt ds_ctrl musi mieć największy depth (wykonać się ostatni)

CREATE jak poprzednio

BEGIN_STEP

GML
ds_priority_clear()

END_STEP

GML
if (ds_priority_size()>0)

with(ds_priority_delete_min(global.pg))

instance_destroy()

w twoim obiekcie

LEFT_PRESSED

GML
ds_priority_add(global.pq,id,depth);

W CREATE usuń drugą linijkę

 

Nie jestem pewien czy to zadziała, daj znać jak się zachowuje

Odnośnik do komentarza
Udostępnij na innych stronach

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ę...