Skocz do zawartości

Lokalizacja obiektu


Bixon

Rekomendowane odpowiedzi

Postanowiłem wykorzystać w grze przykład inventory zrobiony przez David Darka (na jakiś czas, potem przejść na tablice). Link do przykładu - https://forum.gmclan.org/index.php?showtopi...mp;hl=inventory

 

No i teraz kwestia tego, żeby itemy zatrzymywały się w plecaku na dłużej. Tj. jak idę w dół i w tą samą stronę przesuwa się view, to żeby itemy też szły.

Próbowałem to rozwiązać tak :

GML
if w_plecaku = 1 && x = o_plecak1.x

{

x = o_plecak1.x;

y = o_plecak1.y;

}

else

if w_plecaku = 1 && x = o_plecak2.x

{

x = o_plecak2.x;

y = o_plecak2.y;

}

else

if w_plecaku = 1 && x = o_plecak3.x

{

x = o_plecak3.x;

y = o_plecak3.y;

}

else

if w_plecaku = 1 && x = o_plecak4.x

{

x = o_plecak4.x;

y = o_plecak4.y;

}

 

Ale gm najprawdopodobniej nie nadąża, i przedmioty zjeżdżają w dół, po czym gdy trafią na jakikolwiek ze slotów, zatrzymują się przy nim, po czym przy przesuwaniu viewa znowu odjeżdżają i tak w kółko.

Jak można to inaczej rozwiązać ?

 

I drugie pytanie, jak upłynnić przesuwanie obiektu za viewem ?

W step obiektu mam wpisane:

GML
x = view_xview[0]

y = view_yview[0] + 450;

Ale strasznie nim trzęsie przy poruszaniu viewa. Tak jakby nie nadążał.

 

Pozdrawiam ;]

Odnośnik do komentarza
Udostępnij na innych stronach

Obiekty zawsze "nie nadążają" musisz po prostu rysować przez draw item na konkretnych pozycjach.

 

 

x + view_xview[0]
y + view_yview[0] + 450

 

Daj odpowiedniego drawa i za x podstaw pierwszą linijkę kodu a y do druga

 

 

np.: obiekt ustaw bez sprita zrób obiekt DRAW i tam

 

draw_sprite(nazwa_sprita,0,x + view_xview[0],y + view_yview[0] + 450);

Odnośnik do komentarza
Udostępnij na innych stronach

No tak, ale w takim wypadku muszę tworzyć dwa obiekty dla każdej rzeczy?

Bo np. miecz leżąc na ziemi nie może korzystać z viewów, a będąc w slocie tak.

 

-------------------------------

EDIT

 

Dobra, udało mi się ustawić tak, że działa, tylko mam teraz jeszcze jeden problem z rysowaniem rzeczy na np. panelu.

Wszystko ładnie chodzi, ale sloty itemów nie chcą się wyświetlać.

Czy może być taki kod ?

GML
draw_sprite(spr_inventory,0,x + o_paneldol.x + 750,y + o_paneldol.y + 30);
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ę...