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

[Allegro] Blokowanie Ruchu Postaci - kolizja

Ostatnio zmodyfikowano 2009-10-04 19:19
Autor Wiadomość
Saiph
Temat założony przez niniejszego użytkownika
[Allegro] Blokowanie Ruchu Postaci - kolizja
» 2009-10-04 19:02:32
Witam wszystkich. Tak bawię się teraz w allegro i pisze se takiego rpga 2d...
Postać jest ustawiona na środku ekranu(nie może się poruszać), jeśli gracz kliknie strzałkę do góry, to mapa przesuwa się do góry jeśli w dol to w dol i tak dalej...
Kłopot mam niestety z zrobieniem blokowania. Żeby np. Nie można było wejść w 1 w mapie(mapa jest w tablicy 2 wymiarowej). Zastanawiałem się nad kolizja, ale cos nie wiem jak mozna to napisać bo: 1. Jak wejdziemy to nie wyjdzimy. 2. Jakos to trzeba tak zrobić ze jeśli się wejdzie z prawej strony to dalsze posowanie w prawo jest niemozliwe, mozna sie tylko wycofać. Widziałem taki blokowanie w jakiejś gre tutaj bojarze lord of demon czy jakos tam, ale nie wiem jak coś takiego zrobić prosze o pomoc.
P-10635
lynx
» 2009-10-04 19:19:43
Nie wiem dokładnie o co Ci chodzi. Wiem że masz problem z kolizją. :)
Obiekty na które nie mozna wejść są zapisane na mapie (tablicy) w postaci 1, tak?

Więc:
Zamień współrzędne postaci określoną kratkę na mapie (wymiary kratki)
Później to już tylko nie dopuszczasz do wejścia na siebie postaci i obiektu.
Na kodzie:
C/C++
int ludzik_x_na_tablicy = ludzik_x / szer_kratki_mapy;
int ludzik_y_na_tablicy = ludzik_y / wys_kratki_mapy;

if( key( KEY_LEFT ) && mapa[ ludzik_x_na_tablicy + 1 ][ ludzik_y_na_tablicy ] )
{ //tu sobie musisz sam to dopasować ja Ci tylko podaję jak to można zrobić
    //porusz_ludzika
}
P-10636
« 1 »
  Strona 1 z 1