Skocz do zawartości

Który na wierzchu?


TeoTN

Rekomendowane odpowiedzi

  • Administratorzy

To ja wam teraz utrudnię. W create roomu zróbcie tak:

GML
instance_create(64,64,obiekt);

instance_create(32,32,obiekt);

instance_create(48,48,obiekt);

 

Zakładamy, że obiekt ma rozmiar 32,32, kolizje w sprite ma zaznaczone jako nieprecyzyjne i orgin na full image, brak transparent. Depth ustawiony na 0.

Jak sprawdzicie który z nich ma większy depth, skoro wszystkie mają ten sam, ale w roomie widać jednak, że jeden z nich jest wyżej od reszty?

Odnośnik do komentarza
Udostępnij na innych stronach

To ja wam teraz utrudnię. W create roomu zróbcie tak:

GML
instance_create(64,64,obiekt);

instance_create(32,32,obiekt);

instance_create(48,48,obiekt);

 

Zakładamy, że obiekt ma rozmiar 32,32, kolizje w sprite ma zaznaczone jako nieprecyzyjne i orgin na full image, brak transparent. Depth ustawiony na 0.

Jak sprawdzicie który z nich ma większy depth, skoro wszystkie mają ten sam, ale w roomie widać jednak, że jeden z nich jest wyżej od reszty?

To wtedy bierzesz id, ale jako że with sprawdza wg idów to mój kod będzie działać i w tym przypadku.

Oto dowód https://gmclan.org/up2052_11_jakniedzialajakdziala.html

Odnośnik do komentarza
Udostępnij na innych stronach

@Harrrry: No właśnie o to mi chodziło xD

Teraz jeszcze trudniejsze: załóżmy, że klikniesz obiekt, który jest pod innym: jak zrobić, żeby wylądował na samiutkim wierzchu? Zmiana własnego id na 100000 i innych na +1? Ale to nie możliwe :/

 

HEEEELP!! :crying:

Odnośnik do komentarza
Udostępnij na innych stronach

@Marek.S: Prawie :D

Poprawiłem:

GML
if (id=instance_position(mouse_x,mouse_y,object1)) {depth=-instance_find(object1,instance_number(object1))+1}

Po podstawieniu do przykładu do event Left pressed object1 działa jak ta lala :D

Dzięki :thumbsup:

Odnośnik do komentarza
Udostępnij na innych stronach

mała poprawka, powinno być:

GML
if ( id = instance_position( mouse_x , mouse_y , obj0 )) depth = - ( instance_find( obj0 , instance_number( obj0 )) +1 )

 

no i jeszcze draw_sprite wygląda tak:

GML
draw_sprite( sprite_index , image_index , x , y )
ale nie wiem czy to coś zmieni.
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ę...