Moribundo Opublikowano 1 Października 2015 Udostępnij Opublikowano 1 Października 2015 Cześć. Chciałbym zrobić takie coś, żeby tło przesuwało się w momencie, kiedy gracz idzie do przodu albo do tyłu. Nie wiem jak to zrobić, do tła nie można przypisać kodu, może to nie powinno być tło w takim razie? Chciałem, żeby gracz był w środku, a tło mogło się zapętlać, tak, żeby idąc w prawo, gracz wracał po jakimś czasie w to samo miejsce. Pomóżcie! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 1 Października 2015 Udostępnij Opublikowano 1 Października 2015 Skorzystaj z background_hspeed bodajże :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 1 Października 2015 Udostępnij Opublikowano 1 Października 2015 Domyślnie tło samo się zapętla a swój początek ma w punkcje 0,0 room. Wszystko teraz zależy od tego co chcesz zrobić. Czy to ma być paralax czy może jakiś inny efekt. Wszystkie funkcje i zmienne dotyczące teł zaczynają się od background_*, a zmienne są tablicami (bo możesz ustawić sobie kilka teł w room). Tak więc background_x[0] to zmienna pozycji x pierwszego tła. Możesz do niej np przypisać pozycje gracza pomnorzoną przez jakaś wartość aby otrzymać paralaksę. GML background_x[0]=gracz.x*1.1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
3r3se7ven Opublikowano 1 Października 2015 Udostępnij Opublikowano 1 Października 2015 Cześć. Chciałbym zrobić takie coś, żeby tło przesuwało się w momencie, kiedy gracz idzie do przodu albo do tyłu. Nie wiem jak to zrobić, do tła nie można przypisać kodu, może to nie powinno być tło w takim razie? Chciałem, żeby gracz był w środku, a tło mogło się zapętlać, tak, żeby idąc w prawo, gracz wracał po jakimś czasie w to samo miejsce. Pomóżcie! Jeśli korzystasz z obiektu draw_self(), to tło będzie w miejscu, a Ty będziesz względem niego się poruszał, więc efekt z definicji będzie taki jak chcesz. Co więc zrobiłeś kontrolowanemu obiektowi iż tak się nie dzieje? ...pomnorzoną... Nie matura leć chęć szczera... Wyszukiwanie błędów w kodzie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Moribundo Opublikowano 1 Października 2015 Autor Udostępnij Opublikowano 1 Października 2015 Oj, chyba jeszcze bardzo dużo muszę się nauczyć. Dzięki za pomoc! Zobaczę czy potrafię z niej skorzystać! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Moribundo Opublikowano 12 Listopada 2015 Autor Udostępnij Opublikowano 12 Listopada 2015 Hej. Moje pytanie było źle sformułowane, może teraz wyrażę się lepiej: Nie chodzi o tło, ale o cały room. Chcę, żeby gracza docierając do jego prawej krawędzi - końca room'u - wracał na jego początek, czyli znów pojawiał się za jego lewą krawędzią. Metaforycznie rzecz ujmując, chciałbym żeby gracz chodził wzdłuż planszy nawiniętej na "bęben". Jeśli znacie teledysk REM Shiny happy people, to o to mi właśnie chodzi. Tam dziad pedałuje na rowerze i przesuwa się prześcieradło, a ja chcę, żeby tak samo przesuwał się mój room, z wszystkimi obiektami jakie tam powstawiam https://www.youtube.com/watch?v=iCQ0vDAbF7s Gracz ma stać cały czas w miejscu, ale to już wiem jak zrobić. Klawisz w prawo - on stoi a tło przesuwa się w lewo. Odwrotnie, klawisz w lewo, tło w prawo. To też działa. Problem pojawia się, gdy dochodzę do krawędzi room'u. Jestem w kropce od miesiąca przynajmniej, proszę, pomóżcie. Im prościej, tym lepiej, jestem nadal na poziomie podstawowym! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 12 Listopada 2015 Udostępnij Opublikowano 12 Listopada 2015 Ja bym zapisał obiekty do grida, a potem ustalał ich pozycje na podstawie naszego umiejscowienia w tym gridzie. + 4 ify, które będą sprawdzały czy grid się nie kończy i nie trzeba przesunać obiektów z początku grida i na odwrót. W sumie wystarczy przesuwać obiekty w taki sposób. Naciskamy strzałkę w prawo. Tlo przesuwa się w prawo Cała linia y, przesuwa się na pozycję y+1, a te które wychodzą poza grid, idą na początek. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 13 Listopada 2015 Udostępnij Opublikowano 13 Listopada 2015 Jest chyba nawet domyślna akcja która to robi, ale robi to brzydko. Ogółem musisz sprawdzić czy gracz przeszedł pewna granicę i wtedy przenieść go na drugą stronę room. Wygląda to mniej więcej tak: GML if(x<0){x+=room_width} if(x>room_width){x-=room_width} Tylko że ty musisz to bardziej pod siebie przerobić. Prawdopodobnie musisz zrobić sobie jakiś margines, no i na pewno musisz stworzyć kopie obiektów przy krawędziach mapy. To może też da się zautomatyzować. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 13 Listopada 2015 Udostępnij Opublikowano 13 Listopada 2015 Pytam z czystej ciekawości teraz. Po co kopie obiektów? Bo nie rozumiem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 13 Listopada 2015 Udostępnij Opublikowano 13 Listopada 2015 Pytam z czystej ciekawości teraz. Po co kopie obiektów? Bo nie rozumiem. Trzeba by narysować żeby łatwo wyjaśnić. Jeżeli chcemy zrobić płynne przejście nie wykrywalne dla gracza to po przejściu z jednego krańca room na drugi wszystkie obiekty muszą być na tych samych miejscach. Coś takiego zrobiłem kiedyś na ligę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TO_mek Opublikowano 20 Listopada 2015 Udostępnij Opublikowano 20 Listopada 2015 Gracz ma stać cały czas w miejscu, ale to już wiem jak zrobić. Klawisz w prawo - on stoi a tło przesuwa się w lewo. Odwrotnie, klawisz w lewo, tło w prawo. To też działa. Problem pojawia się, gdy dochodzę do krawędzi room'u. Jestem w kropce od miesiąca przynajmniej, proszę, pomóżcie. Im prościej, tym lepiej, jestem nadal na poziomie podstawowym! Podany teledysk jest odwrotnością tego co piszesz powyżej. W teledysku przesuwa się tło a postać stoi w miejscu (jak na starych filmach widok przesuwającego się tła widoczny w oknie nieruchomego samochodu). To w końcu ten Twój gracz stoi w jednej pozycji (jak w teledysku) czy chodzi po ekranie i dochodzi do krawędzi? W pierwszym przypadku wystarczy wyświetlać dwa tła i w DRAW dać: GML draw_background(background0,poz_x,0); //rysuje tlo nr1 draw_background(background0,poz_x-room_width,0);//rysuje drugie tlo przesuniete wzgledem pierwszego o szerokosc rooma draw_sprite(sprite0,-1,x,y);//wyswietla sprajt obiektu gracza a w klawiszach sterujących LEFT GML //Left poz_x++;//przesuwa tla w prawo if poz_x>room_width then poz_x:=0 RIGHT GML //Right poz_x--;//przesuwa tla w lewo if poz_x<0 then poz_x:=room_width w CREATE musi być zdefiniowana zmienna poz_x GML //Create image_speed:=0.1//predkosc animacji psa na biezni poz_x:=0;//pozycja poczatkowa tla W drugim przypadku, gdy postać jednak idzie po ekranie i dochodzi do krawędzi, tło jest nieruchome a jedynie potrzebujesz wyświetlać dodatkowo sprajt gracza po przeciwnej stronie ekranu (jeśli zależy Ci na tym by niewidoczna część gracza przy prawej krawędzi była już równocześnie widoczna przy lewej) lub zwyczajnie zamieniać pozycję x obiektu gracza po wyjściu za ekran (załóżmy gdy gracz jest szerokości 64px i origin masz na środku to idąc w prawo dajesz coś w rodzaju: GML if x > (room_width+32) then x:=-32 a idąc w lewo GML if x<-32 then x:=room_width+32 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę