NukeBoards - Kreatywność przede wszystkim
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  DownloadDownload
RejestracjaRejestracja  ZalogujZaloguj

Odpowiedz do tematu
Poprzedni temat :: Następny temat
Płynne kolizje
Autor Wiadomość
Ishimura 
Chorąży


Główny edytor: Fusion 2.5 Dev
Drugi edytor: MMF2 Dev
Pojedynki: nie
Pomógł: 11 razy
Posty: 299

4531 Prestiż
Wysłany: 12-07-2015, 12:35   Płynne kolizje

Siemanko, mam problem z kolizjami. Otóż o ile podłoga działa spoko tak jak powinna, to jak skacze, to postać jakby "przykleja się" do sufitu i spada pionowo i nawet nie można nią wtedy sterować? Jakiś pomysł na taką płynną kolizję ? Chodzi o to że jak walnie głową w sufit, a porusza się w przód to dostanie takiego poślizgu głową po suficie :P
 
     
307 
Dezerter


Główny edytor: MMF2 Dev
Posty: 42

2307 Prestiż
Wysłany: 12-07-2015, 13:34   

Użyj PMO.
 
     
wermi 
Major
Depressive Disorder


Główny edytor: TGF
Drugi edytor: TGF
Pomogła: 53 razy
Posty: 1011

15733 Prestiż
Wysłany: 13-07-2015, 06:36   

używasz wbudowanego ruchu platformowego opartego o box2d czy tego starego szajsu?
 
     
Ishimura 
Chorąży


Główny edytor: Fusion 2.5 Dev
Drugi edytor: MMF2 Dev
Pojedynki: nie
Pomógł: 11 razy
Posty: 299

4531 Prestiż
Wysłany: 13-07-2015, 15:57   

Heh dokładnie to nie wiem jakiego używam :P Normalnie, bohater to active o typie platform, a do tego kolizje z background. Wiem że to chała tak więc zwracam się o jakąś pomoc :P
 
     
jarlfenrir 
Generał brygady


Główny edytor: Fusion 2.5
Drugi edytor: TGF2
Pomógł: 82 razy
Posty: 1732

37281 Prestiż
Wysłany: 13-07-2015, 18:10   

Ishimura napisał/a:
bohater to active o typie platform
Co to znaczy, że "o typie platform"? W zakładce ruch określiłeś mu "platform"?
 
     
Ishimura 
Chorąży


Główny edytor: Fusion 2.5 Dev
Drugi edytor: MMF2 Dev
Pojedynki: nie
Pomógł: 11 razy
Posty: 299

4531 Prestiż
Wysłany: 13-07-2015, 18:45   

Dokładnie :) Movement -> Type = Platform
 
     
jarlfenrir 
Generał brygady


Główny edytor: Fusion 2.5
Drugi edytor: TGF2
Pomógł: 82 razy
Posty: 1732

37281 Prestiż
Wysłany: 13-07-2015, 19:12   

Ishimura napisał/a:
Dokładnie :) Movement -> Type = Platform
Więc to jest to, co tutaj nazywamy "wbudowany ruch platformowy". I kiedyś ludzie polecali zrobienie własnego ruchu platformowego, a teraz widzę, że jakieś nowe rozszerzenia się popojawiały...

własny ruch, czyli dodajesz dodatkowe obiekty, detektory, które zawsze podążają za twoją postacią, ale są ułożone dookoła niej.
Potem dodajesz warunki typu:
użytkownik wcisnął lewo + lewy detektor nie koliduje z przeszkodą -> przesuń ludzika w lewo
detektor dół nie koliduje z tłem -> przesuń ludzika w dół
ludzik jest w fazie skoku + detektor górny koliduje z tłem -> przerwij skok

(zdarzenia zaprezentowane poglądowo)
 
     
Ishimura 
Chorąży


Główny edytor: Fusion 2.5 Dev
Drugi edytor: MMF2 Dev
Pojedynki: nie
Pomógł: 11 razy
Posty: 299

4531 Prestiż
Wysłany: 13-07-2015, 19:39   

A np, jak ze skokiem? Jakieś parametry trzeba wprowadzać żeby skok był takim łukiem ?
Albo jakieś rozszerzenie jest ?
 
     
Cootje 
Legenda


Główny edytor: Fusion 2.5 Dev
Drugi edytor: Stencyl
Pojedynki: być może
Pomógł: 35 razy
Posty: 630

17963 Prestiż
Wysłany: 13-07-2015, 21:25   

Ten ruch z box2d nie ma już tego buga.
_________________
Mój klucz publiczny PGP
 
     
jarlfenrir 
Generał brygady


Główny edytor: Fusion 2.5
Drugi edytor: TGF2
Pomógł: 82 razy
Posty: 1732

37281 Prestiż
Wysłany: 13-07-2015, 21:36   

Ja to zawsze robię za pomocą jednej zmiennej obiektu. Np ustawiam ją na -5 (grawitacja).
Potem zdarzenia:
jeśli grawitacja różna od 0 ->
dodaj do pozycji Y grawitację

jeśli dolny detektor nie koliduje z tłem ->
dodaj do grawitacji 1

Jeśli dolny detektor koliduje z tłem ->
ustaw grawitację na 0

Jeśli górny detektor koliduje z tłem ->
ustaw grawitację na 0

Dzięki temu w każdej kolejnej ramce postać przesunie się o coraz mniejszą liczbę pikseli w górę aż w końcu dojdzie do zera (w tej ramce postać "zawiśnie" w powietrzu). Następnie licznik przekręci się na liczby dodatnie i postać zacznie spadać z coraz większą prędkością.
Jak dodasz do tego jednostajny ruch po X (np. gracz trzyma wciśnięty klawisz w prawo, więc jednostajnie przesuwasz postać o np. 3 piksele w prawo), to uzyskasz efekt lotu po łuku.

Dodatkowo dla większej precyzji warto użyć fastloopa.
tj. zamiast przesuwać obiekt o wartość grawitacji dodać:

grawitacja większa od 0 -> uruchom pętlę "G" tyle razy, ile ma wartość grawitacja
grawitacja mniejsza od 0 -> uruchom pętlę "G" minus grawitacja razy

w pętli "G"
grawitacja mniejsza od 0
-> ustaw pozycję Y na Y -1

w pętli "G"
grawitacja większa od 0
-> ustaw pozycję Y na Y +1

(przydałaby się funkcja signum, by te dwa zdarzenia scalić w jedno, ale nie mogę takowej znaleźć...)
 
     
Ishimura 
Chorąży


Główny edytor: Fusion 2.5 Dev
Drugi edytor: MMF2 Dev
Pojedynki: nie
Pomógł: 11 razy
Posty: 299

4531 Prestiż
Wysłany: 14-07-2015, 20:46   

Heh, mam pewien problem. Jak zanegować kolizję z innym obiektem ? Opcja jest na szaro, a jak przykleiłem colider do postaci i daje zdarzenie;

Colider collision with bacdkdrop -> to w tym momencie nie można ustawić Movement - Stop dla obiektu bohater.

Aha i czy typ movementu obiektu należy zmienić czy może być Static ?
 
     
Zax37 
Kapral


Główny edytor: Fusion 2.5 Dev
Drugi edytor: MMF2
Pojedynki: tak
Pomógł: 1 raz
Posty: 29

1661 Prestiż
Wysłany: 15-07-2015, 06:48   

Kolizji nie możesz zanegować, bo to taki trochę callback, ale możesz zanegować overlapping.

Colider not overlapping backdrop
+ewentualnie odtwórz raz jeśli zapętlone żeby uzyskać podobny efekt do kolizji, ale na wyjście z niej

Chyba że nie o to chodzi. Jeśli nie możesz ustawić Movement - Stop, to znaczy że obiekt nie ma wybranego odpowiedniego ruchu. Oczywiście przy własnym ruchu tej opcji się nie używa, chyba że opiera się go na wbudowanym.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

PSK Cytaty Klikibaza - kopia wszystkich klików Klikipedia - encyklopedia o tworzeniu gier Discord KlikCzat Zaproszenie
Daj piniondza Wielkie Muzeum Klikowe

Powered by phpBB modified by Przemo © 2003 phpBB Group