Skocz do zawartości

depth?


Bosu

Rekomendowane odpowiedzi

robię grę z rzutu z 'przodu'

i mam problem z wchodzeniem za budynki.

Otóż chcę żeby jak pójdzie się drogą jak na screenie 1 to budynek jest zasłaniany przez postać

natomiast gdy pójdzie się jak na screenie 2 to postać chowa się za budynkiem ale żeby ją widać to budynek robi się przezroczysty (image_alpha)

screeny pomocnicze:

 

https://gmclan.org/uploader/4961/f504ce7d7e.jpg

 

proszę o pomoc!

Odnośnik do komentarza
Udostępnij na innych stronach

ustawiłem maskę na stopy i też nic

a jakby sprawdzać na jakiej pozycji względem budynku stoi postać?

np. budynek sprawdza położenie postaci względem siebie i jeśli jest y na minusie to ściana robi się przezroczysta a jeśli na plusie to detph zmniejsza się do 1 (bo postać ma -2).

Jak myślicie działało by to? (hehe tylko trzeba to jeszcze zamienić w kod)

tak platyna o taki rzut chodzi.

taki jak na tym screenie:

http://fc08.deviantart.net/fs16/f/2007/141...rephoenix93.png

Odnośnik do komentarza
Udostępnij na innych stronach

walnąłem coś takiego:

kolizja ściany z herosem w object1 (czyli w ścianie)

GML
if object1.y < heros.y

{

image_alpha=0.5

with(heros)

depth=1

}

no i działa!

dzięki zero za podsunięcie pomysłu i innym też!!

 

dobra jeszcze jeden problem.

Chodzi o to żeby postać nie mogła iść do góry stojąc przed ścianą

mój kod na chodzenie:

 

GML
if keyboard_check(vk_up) and if object1.y < heros.y

{

sprite_index=stoi_tyl

y-=8

}

else

if keyboard_check(vk_down)

{

sprite_index=stoi_przod

y+=8

}

else

if keyboard_check(vk_left)

{

sprite_index=stoi_lewo

x-=8

}

else

if keyboard_check(vk_right)

{

sprite_index=stoi_prawo

x+=8

}

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

W takim widoku każdy obiekt musi mieć depth na -y ustawiony, a Origin Y musi być ustawiony tak jakby na środek jego podstawy (pozioma linia, poniżej której obiekty są przed nim, a powyżej której są widoczne za nim).

Odnośnik do komentarza
Udostępnij na innych stronach

A jeśli chcesz mieć origina y gdzie indziej niż środek obiektu, to wystarczy proste

GML
depth = -y +/- iles;

 

Warto też zwrócić uwagę na zajmowaną "przestrzeń" deptha przez obiekty - abyś nie zaliczył wtopy, że kursor/hud/trawka będzie widoczna nad/pod jakimś domkiem, zwłaszcza na dużych mapach, lepiej zastosować takie coś:

GML
depth = -600 -( y - (view_yview[view_current] - 500) )
, i wtedy depth od -100 do powiedzmy -2000 zostawiasz w spokoju.
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ę...