Autor Wątek: Kolizje  (Przeczytany 3077 razy)

Offline adsko

  • Użytkownik

# Listopad 21, 2012, 23:47:41
Witam, mam kolejny problem, tym razem z kolizjami.
Mianowicie: Chciałem zrobić to tak aby nakładać pojedyńcze warstwy na mape
1 Warstwa - brak przejscia
2 Warstwa - mozna wskoczyc z dolu na gore(platforma)
3 Warstwa - drabiny
4 Warstwa - dzwignie
5 Warstwa - bitmapa z prawdziwą mapą(reszta jest pod tą jedną)
Teraz nie wiem jak to zrobić. Może ktoś podać jakiś pomysł?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline flexi

  • Użytkownik

# Listopad 22, 2012, 00:11:35
Moze napisal bys czy 2d czy 3d. (Zakladam ze 2D) ale warto napisac.

Offline Veldrin

  • Użytkownik

# Listopad 22, 2012, 00:53:32
2D czy 3D - musisz jakoś reprezentować świat. Prosty podział modelu i widoku to już jakaś architektura.
Tablice, grafy, dyskretna reprezentacja, ciągła, kafle itp. itd.

Offline adsko

  • Użytkownik

# Listopad 22, 2012, 08:20:26
Gra 2d, budowa terenu itp chce zrobic na wspolrzednych. (widok z boku)
Co do pytania, jak zczytac kolor pixela z podanej textury? Dalej raczej dam rade.

Offline flexi

  • Użytkownik

  • +1
# Listopad 22, 2012, 09:49:31
Google nie gryzie.

Offline Veldrin

  • Użytkownik

# Listopad 22, 2012, 15:00:58
Właśnie nie tędy droga. To co wyświetlacz to jedno, drugie to reprezentacja tego CO wyświetlacz na bazie, której przeprowadzasz obliczenia.logikij

Offline adsko

  • Użytkownik

# Listopad 22, 2012, 18:45:56
Aha, czyli wyswietlić to co jest dla użytkownika widoczne a w pamięci zostawić moją bitmape kolizji??
Tak myślałem nad tym(dopiero w sobote będę pisał te kolizje) to powinienem zczytywać kolizje dla 4 rogów bitmapy mojej postaci?

Offline Veldrin

  • Użytkownik

# Listopad 22, 2012, 19:01:42
Poszukaj jakichkolwiek materiałów na temat map 2D, kolizji z nimi itp. Jak wspominał flexi, Google wie dużo.


Offline Radomiej

  • Użytkownik
    • Blog

# Listopad 22, 2012, 20:45:53
Po co ci tyle warstw do sprawdzania kolizji. Skoro tylko gracz się rusza możesz podzielić mapę na kaflę i sprawdzać kolizję dla kilku punktów na obiekcie gracza - czy może zeskoczyć, albo przejść w bok. Warstwy zostaw sobie na tło, bloki świata i ewentualnie na symulacje ciemności.

Offline adsko

  • Użytkownik

# Listopad 22, 2012, 20:56:19
Dzieki za materiał @11, dużo mi to pomoże:D

Offline Santor

  • Użytkownik

# Listopad 23, 2012, 00:20:33
Moze zrob to tak: np 3warstwy zwyklego terenu potem na to warstwa event'ow (dzwignie drabiny itp, rodzaj eventu przypiszesz sobie jako jakas cyferke) i na to niewidzialna warstwa w ktorej zaznaczasz czy kafel kolidujacy czy tez nie. Wtedy kolizje sprawdzasz tylko w ostatniej warstwie a reszta żyje swoim zyciem.

Offline MoHeR

  • Użytkownik

# Listopad 25, 2012, 02:23:24
A nie lepiej zrobic 2 warstwy:
Na jednej na czarno zamalowujesz teren, z ktorym wylapujesz kolizje, a na bialo "powietrze"
Druga to prawdziwa textura mapy (nie wplywa na kolizje)
A pozniej na to wszystko nakladac obiekty. Mozesz sobie opakowac obiekt w strukture zawierajaca:
pozycje, wymiary, texture, typ (drabina / dzwignia / cokolwiek)
nastepnie sprawdzasz kolizje dla obiektu i reagujesz odpowiednio na kazdy typ. Jesli typ == DRABINA, to sprawdzasz, czy trzymasz klawisz up. Jesli tak, to sie wspinasz ;)

A jesli chodzi o Twoja metode, to zamiast robic milion warstw, mozesz zrobic jedna, ale kolorowa: kazdy kolor oznacza inny przedmiot: zielony - brabina, czerwony - dzwignia itp :P
Jesli dobrze mysle, to Twoja metoda sprawi, ze te przedmioty beda tylko statyczne (poniewaz bedziesz musial zmieniac bitmapke, zeby zmienic polozenie przedmiotu).