[Allegro] Kolizje - mały problem
Ostatnio zmodyfikowano 2009-02-24 16:19
Ju1ian Temat założony przez niniejszego użytkownika |
[Allegro] Kolizje - mały problem » 2009-02-23 22:45:27 Witam! Od razu informuję, że nie chodzi tu o kolizje z wodą (lub czym innym) lecz z ruszającymi się rzeczami. Mam mapę na tilesach i ludek porusza się o 40 (1 klocek). Jest to raczej proste, wymyśliłem coś takiego: bool kolizja_w_prawo() { if(( ludek_x + 40 == troll_x ) &&( ludek_y == troll_y ) ) return true; else return false; } bool kolizja_w_lewo() { if(( ludek_x - 40 == troll_x ) &&( ludek_y == troll_y ) ) return true; else return false; } bool kolizja_w_dol() { if(( ludek_x == troll_x ) &&( ludek_y + 40 == troll_y ) ) return true; else return false; } bool kolizja_w_gore() { if(( ludek_x == troll_x ) &&( ludek_y - 40 == troll_y ) ) return true; else return false; } A potem przy funkcjach poruszania strzałkami, sprawdzam czy nie jest true (oczywiście kolizja w lewo do lewej strzałki itd. A nie wszystkie do wszystkich) i to nic nie daje, tak jakby nie było tej funkcji. Z góry dzięki za pomoc. Pozdrawiam. |
|
DejaVu |
» 2009-02-23 22:53:11 Czy wszystkie obiekty poruszają się po kratkach? /edit: Z tego co napisałeś wynika, że masz zrobione poruszanie się obiektów tak: |
|
Ju1ian Temat założony przez niniejszego użytkownika |
» 2009-02-23 22:54:00 Tak, tzn. ten obiekt jeszcze się nie rusza xD Ale będzie. |
|
DejaVu |
» 2009-02-23 22:58:16 proponuję Ci wypisać na ekranie pozycję ludek_x i pozycję troll_x obok siebie i sprawdzić wzrokowo czemu ten warunek nie zachodzi. Moim zdaniem warunek nie jest spełniony, ponieważ troll krzywo stoi, a ludek przemieszcza się co np. 40 pól. |
|
Ju1ian Temat założony przez niniejszego użytkownika |
» 2009-02-23 23:10:09 No sprawdziłem i współrzędne się zgadzają, troll krzywo nie stoi ;/ |
|
DejaVu |
» 2009-02-23 23:17:45 Skoro troll krzywo nie stoi w osi x i y, ani ludek nie stoi krzywo w osi x i y, to znaczy że nie wywołujesz tych funkcji ;p |
|
Ju1ian Temat założony przez niniejszego użytkownika |
» 2009-02-23 23:26:43 Teraz wywołałem w głównej pętli i nic ;/ Dobra idę spać rano coś pokombinuje ;P |
|
Ju1ian Temat założony przez niniejszego użytkownika |
» 2009-02-24 15:21:31 Problem nieaktualny ;P |
|
« 1 » 2 |