Skocz do zawartości

Tło chodzi za bohaterem


Rekomendowane odpowiedzi

Witam !

 

Po raz kolejny nie moge sobie poradzić z pewnym problemem i zwracam sie z pomocą do was :). Mianowicie chce zrobić fajny efekt w grze ale nie moge sobie poradzić z wymyśleniem / obliczeniem algorytmu by efekt dobrze działał.

 

Posłuże sie przykładem:

tlo.jpg

 

Legenda:

Czerwony - Room

Szary - tło

Zielony - Gracz

 

Chodzi mi o to by tło chodziło za graczem, powstaje wtedy fajny efekt który chciał bym wykorzystać.

 

room ma wymiary 4500x4500

tło 1500x1500

ekran/ rozdzielczość 800x600

Odnośnik do komentarza
Udostępnij na innych stronach

No to maluj tło jakimś obiektem, który będzie miał duże depth ( tzn. będzie pod spodem) np. za pomocą draw_background(nazwa,x,y), przy czym pobaw się wartościami x i y. Coś w stylu: player_x/4-750. W ten sposób tło będzie chodziło za bohaterem, ale jak tło, a nie jak coś przyklejonego.

Odnośnik do komentarza
Udostępnij na innych stronach

spróbuj może z takim czymś

if x > moje.x

{

vspeed += 5

}

else

{

vspeed -= 5

}

kiedys dalem przyklad na taki ruch. Jest plynnie a jak jeszcze dodasz, ze jak jest blisko to speed jest maly a im dalej tym szybciej toto jedzie to chyba bedziesz mial ten efekt. Tylko nie wiem, czy w tym powinno byc h czy vspeed

 

e: kod jest zle ale uznajmy, ze zmuszam Ciebie do myslenia

Odnośnik do komentarza
Udostępnij na innych stronach

Ech. Widzę, że muszę się pofatygować. :)

 

Domyślam się, że chcesz zrobić taki efekt, że tło jest bardzo daleko?

 

GML
background_x[0] = ...;

background_y[0] = ...;

a co z tym mam zrobic? bo nie za dużo mi to mówi?

 

Te zmienne ustawiają położenie Backgroundu 0. Zrobię to na nim, ale jeśli twój back ma inny index niż 0 to musisz zmienić.

 

GML
w=szerokosc tla

h=wysokosc tla

background_x[0]=(room_width-w)*(player.x/room_width)

background_y[0]=(room_height-h)*(player.y/room_height)

 

Nie sprawdzałem, ale z mych obliczeń wychodzi, że powinno działać. :)

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