![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 1 Dołączył: 25.03.2011 Ostrzeżenie: (10%) ![]() ![]() |
Witam mam gre 2D i chce zrobić system kolizji (wejście na pole jest zablokowane) i mam problem ze za nic nie moge tego zrobić więc pomyślałem ,że zapytam się tutaj (IMG:style_emoticons/default/smile.gif) więc tak, mam baze mysql o nazwie kolizje a w niej pola
mapa | x | y | 1 | 5 | 4 | 1 | 6 | 4 | i teraz mam mape : ( x y) x x x x x x y 1x1 | 1x2 | 1x3 | 1x4 | 1x5 | 1x6 .... 1x15 y 2x1 | 2x2 | 2x3 | 2x4 | 2x5 | 2x6 .... 2x15 y 3x1 | 3x2 | 3x3 | 3x4 | 3x5 | 3x6 .... 3x15 y 4x1 | 4x2 | 4x3 | 4x4 | 4x5 | 4x6 .... 4x15 y 5x1 | 5x2 | 5x3 | 5x4 | 5x5 | 5x6 .... 5x15 y 6x1 | 6x2 | 6x3 | 6x4 | 6x5 | 6x6 .... 6x15 i w bazie chce zablokowac aby nie można bylo wejsc na x-5 y-4 oraz x-6 i y-4 (IMG:style_emoticons/default/biggrin.gif) jeszcze aby nei było dam to co zrobiłem ostatnio (IMG:style_emoticons/default/haha.gif)
prosze o pomoc =] |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 18 Dołączył: 7.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jest wiele rozwiązań Twojego problemu.
Na przykład: Gracz jest na pozycji 5x3 i wykonuje ruch w dół - następna pozycja to 5x4 (jeszcze gracza tam nie przemieszczasz). Wiesz, że numer mapy na której się znajduje to 1, więc mając potrzebne dane pierw odpytujesz bazę danych [np. SELECT * FROM kolizje WHERE x=5 AND y=4 AND map=1], jeśli wynik będzie pozytywny (czyli odnajdzie w spisie kolizji szukane pole) to po prostu nie zmieniaj pozycji gracza. Analogicznie, kiedy nic nie znajdzie w bazie - zmień jego pozycję. Innym przykładem może być mapa w bazie danych opisana jakimiś symbolami - coś na styl gier rougelike. Wtedy na podstawie symbolu określasz czy może na niego stanąć, czy nie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 12:31 |