Skocz do zawartości

Naturalne chmury


Rekomendowane odpowiedzi

Zastanowiłem się nad postami pod moim postem , pod tematem "nad czym aktualnie pracujecie" i faktycznie macie racje : te chmury dziwnie się poruszają. Chciałbym się dowiedzieć jak zrobić by poruszały się nak chmury. PS mój kod na nie :

step\code\ x-=2

 

:D za ewentualną pomoc dziekuję

Odnośnik do komentarza
Udostępnij na innych stronach

No chyba najpierw musisz tę zmienną xx zdefiniować, zanim coś od niej odejmiesz. Polecam w Create

 

GML
xx=0;

 

Robisz tak z każdą zmienną lokalną i globalną. Nie musi to być Create, ważne, by było to ZANIM zaczniesz operować na tej zmiennej (wyświetlać, dodawać, pobierać do stringu etc). Po prostu nadaj zmiennej jakąś wartość po raz pierwszy, i nie musi to być wcale 0.

 

EDIT: Se właśnie skompilowałem to w głowie. Jeżeli będziesz coś odejmował od zera, to chmurka (zakładając, że jej koordynat x to 0, czyli lewa krawędź roomu) wyjdzie sobie poza ekran. Lepiej więc dodawaj do zmiennej xx 2, zamiast odejmować. A jak chcesz, by chmury płynęły z prawej krawędzi do lewej, to twórz je właśnie tam - przypisz zmiennej x wartość room_width (lub view_wview[0])

Odnośnik do komentarza
Udostępnij na innych stronach

Myślałem, że to oczywiste, żeby najpierw zmienną przypisać :/

Dałem xx, żeby się zmniejszało, bo w Twojej grze też było od prawej do lewej, ale musisz dać x randomowe przykładowo:

GML
xx=random_range(100,view_wview[0]

I możesz ustawić, że jak nie będzie już widoczna, to będzie usuwana.

Odnośnik do komentarza
Udostępnij na innych stronach

to się fachowo nazywa 'parallax scrolling' i robi się to tak:

dzielisz abstrakcyjnie elementy tła sceny na warstwy i każdej warstwie nadajesz współczynnik głębi.

GML (create)
layer_depth = 0.5;

ten współczynnik stosujesz do przemnożenia przez pozycję w osi (osiach), którą chcesz zwizualizować jako warstwę:

GML (draw)
draw_sprite(sprite_index, image_index, x * layer_depth, y);

(oczywiście możesz dać też to `* layer_depth` do y)

Odnośnik do komentarza
Udostępnij na innych stronach

Myślę że problem polega nie na zwykłej paralaxie tylko na połączniu paralaxy z tym że chmury są cały czas w ruchu.Tak jak już pisałem poprzednio mam identyczny problem

 

Chmury mają jakąś swoją prędkość i w momencie kiedy się przesuwają względem prędkości gracza- prędkość ruchu chmur gwałtownie przyspiesza(wręcz turbo)- w naturze raczej chmury nawet jak poruszają się w tym samym kierunku to nie lecą jak odrzutowce.

 

Czyli w skrócie jak zrobić ruchome obiekty w tle których ruch nie będzie zakłocony przez ruch gracza

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