Kolizja z bitmapami w kształcie wielokątów
Ostatnio zmodyfikowano 2012-06-08 21:40
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 :/ |
|
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 :] |
|
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ć :/ |
|
hincu |
» 2012-06-08 11:07:47 witaj w swiecie programowania
|
|
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 |
|
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 |
|
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ć? 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. |
|
« 1 » |