Skocz do zawartości
pankracy

Dwa pytania...obiekty jako tła

Rekomendowane odpowiedzi

Cześć wszystkim.

Mam tło główne nr1 (background) o rozmiarze 1024x1024
i obiekt który służy mi za tło nr2 o tym samym rozmiarze 1024x1024 (ewentualnie mogę to podzielić na 4 mniejsze kawałki)
I teraz tak...
chciałbym żeby obiekt nr2 który zastępuje na całej planszy tło nr2 mógł poruszać się lewo prawo góra dół w chwili kiedy będę poruszał się graczem.
Tak jak to działa tło nr1 (background)


Dwa pytania

1
Jak to mam ustawić na obiekcie? żeby zachowywał się tak samo jak tło ? i co w przypadku jeśli ten obiekt podzielę na 4 równe części czy mimo to będzie zachowana płynność i ten obiekt który
będzie tłem nie będą te elementy przypadkiem na siebie się nakładać?

2
Od dłuższego czasu próbuje ustawić też obiekt który jest tłem..
Nie jest to duży obiekt i jest on umieszczony na dole planszy...Ma dawać wrażenie trawy na polanie przed graczem.
Mam problem z ustawieniem na nim ruchu góra dół.

Lewo prawo działa bardzo dobrze,ale góra dół niestety przy wielu próbach albo mi ucieka wtedy obiekt i znajduje się na innej części scenerii,albo całkiem znika bo znajduje się po za view.

 

Tu jest kod tego obiektu..

 

Draw

 

draw_sprite(spr_trawaprzedekran,0,x+view_xview[0]*  0.8   ,y+view_yview[0]*  0.1)//tu zmienialem wartosc y ale nic to nie daje

 

Bardzo dziękuję o wszelkie porady sugestie.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

W ogóle nie rozumiem co mówisz. Strzelam, że chcesz uzyskać paralaksę, tzn. każde tło przesuwa się w innym tempie względem gracza. Mam nadzieję ze nie poruszasz wartością y tego tła, tylko samo view_yview[0] się zmienia?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Gnysek dokładnie o to mi chodzi.

Chcę uzyskać na obiektach parallaxe.

Wartością y nie poruszam,a view_yview[0] nie zmienia się...

Kompletnie nie mam na to pomysłu jak to ustawić w taki sposób aby te dwa obiekty poruszały się w innym tępie względem gracza zarówno na wartości x jak i y

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz względem gracza, to trzeba dodać jakąś liczbę dotyczącą gracza, a tego tutaj nie widzę. Np.:

 

draw_sprite(...., view_yview[0] + obj_player.y / 2);

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

To nic nie daje..

obiekt który ma być tłem znika z planszy..i to bez względu jaką wartość y ustawię.

 

 

DRAW

draw_sprite(spr_trawaprzedekran,0,x+view_xview[0]+ obj_player.x / 0.5  ,y+view_yview[0] + obj_player.y / 0.5)

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Tak, bo rysujesz go na jego Y, potem dodajesz pozycję y_view, wiec jak masz ekran o wysokości 800px i zjedziesz 800px w dół widokiem no to oczywiste, że poza ekran całość wyjechała, a potem jeszcze dodajesz y playera.

 

Nie widzę prostszego sposobu, niż kartka papieru, długopis i napisanie sobie tych wszystkich 3 wartości, żeby wiedzieć co wyszło na koniec i dlaczego jest poza ekranem.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Rozwiązałem problem;-)

okazało się,że źle dobierałem wartości..

Zamiast +2 powinno być -2

 

czyli tak

 

Draw

draw_sprite(spr_trawaprzedekran,0,x+view_xview[0]*  0.8   ,y+view_yview[0]  + obj_player.y /-2)

Dziękuję jeszcze raz za pomoc;-) Gnysek.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Mam pytanie...

chcę uzyskać efekt parallaxy w taki sposób,że jak idę graczem w lewo to trawa przesuwa się w prawo i tak samo jak idę graczem w prawo to trawa przesuwa się w lewo.

Powiedzmy,że prawie udało się...

Ale problem polega na tym,że Mi ten obiekt trawa ucieka..lub zaczyna się gdzieś indziej..

view mam obecnie ustawiony na 1280x720

Proszę o pomoc...fajny jest ten efekt,ale nie wiem kurcze jak ten obiekt ustawić żeby nie kończył się z żadnej strony...

różne wartości wpisywałem i nic to nie daje..

 

draw

draw_sprite(spr_trawaprzedekran,0,x+view_xview[0]*-0.2   ,y+view_yview[0]  + obj_player.y /-1.5)

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

draw_sprite_tiled ?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A draw_sprite_tiled  nie stworzy mi na scenerii wielu spritów?

Myślałem o użyciu funkcji (x-sprite_width,y) i (x+sprite_width,y) ale nie mam na to pomysłu...

Brak też na sieci dobrego przykładu.Są odnośnie Backgroundów,ale obiektów które udają parallaxe ciężko znaleźć.

Kurcze żeby ten obiekt nie musiał być tłem pierwszoplanowym(foreground) to nie byłoby takiej z tym zabawy,

Nie mogę go użyć jako tła(background) bo zasłania mi jeden obiekt który ma być odkryty..no i taka zabawa z tym jest...

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Zrobione;-) temat do zamknięcia;-)

Użyłem funkcji draw_sprite oraz sprite_get_width.

Dziękuję wszystkim za pomoc.

 

 

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×