Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Kolizja z bitmapami w kształcie wielokątów

Ostatnio zmodyfikowano 2012-06-08 21:40
Autor Wiadomość
Temes
Temat założony przez niniejszego użytkownika
Kolizja z bitmapami w kształcie wielokątów
» 2012-06-08 09:11:36
Wiem, że jest to kolejny temat o kolizjach. Szukałem na forum i poza nim, lecz nie znalazłem niczego co by dotyczyło mojego problemu...

Chodzi mi dokładnie o to, aby postać mogła poruszać się tylko po określonych bitmapach. Postać ma wymiary 32x64 a kafelki 32x16.
Kafelki po których postać nie może się poruszać: http://imageshack.us/photo/my-images/707/81049247.png/
Kafelki po których postać może się poruszać: http://imageshack.us/photo/my-images/37/97003536.png/

Jaki widzicie kafelki nie są prostymi kwadratami tylko, można powiedzieć że są rombami. Wprawdzie są to prostokąty, ale chodzi mi o kolizje tylko z widoczną częścią obrazka. Powiem jeszcze tylko tyle, że mapa jest tablicą dwuwymiarową i dla czarnego tła (nie może się poruszać) jest przypisana wartosc 1, a dla płytek (może się poruszać) jest przypisana wartosc 2.

Proszę o pomoc, gdyż jest to mój jedyny wielki problem i przez niego stoję z tworzeniem gry :/
P-58071
hincu
» 2012-06-08 10:30:56
to sie nazywa rzut izometryczny... a co w tym trudnego? kolizje robisz tak jak kazde inne porownujesz pozycje kolidujacego z obiektem ktory ma kolizje, jesli obiekt kolidujacy jest w zakresie pozycji z obiektem kolizji to zwracasz true, to tyle teorii kod napisz sobie sam :]
P-58075
Temes
Temat założony przez niniejszego użytkownika
» 2012-06-08 10:50:18
No dobra, ale jeżeli obiekt nie jest prostokątem to muszę obliczyć X i Y każdego piksela i jeżeli obiektów kolizji jest np. 200 to dla każdego bym to musiał robić :/
P-58077
hincu
» 2012-06-08 11:07:47
witaj w swiecie programowania
P-58079
Temes
Temat założony przez niniejszego użytkownika
» 2012-06-08 11:10:05
Musi być jakiś inny sposób... Musi być jakaś funkcja, ja nie mogę obliczać X i Y dla 5 mln pikseli O_o
P-58080
waxx
» 2012-06-08 21:32:52
to se napisz funkcje lol?
przeciez mozesz zapisywac sobie wszelkie pozycje postaci i obiektow w "rzucie prostokatnym", a tylko translate pozycji robic pod rendering
wtedy wszelka logika gry to tak na prawde top down
P-58117
akwes
» 2012-06-08 21:40:03
Yyyy z tego co widzę to po prostu masz szachownicę 2D. I po cholerę Ty chcesz kolizję robić?

C/C++
const size_x = 30;
const size_y = 50;

bool CzyMoznaWejsc[ size_y ][ size_x ];

Wypełniasz true i false, w zależności od tego czy na kafel można wejść czy nie. A potem sprawdzasz zanim wykonasz ruch czy na danym miejscu jest true.
P-58119
« 1 »
  Strona 1 z 1