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

[Allegro] Kolizje - mały problem

Ostatnio zmodyfikowano 2009-02-24 16:19
Autor Wiadomość
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:
C/C++
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.
P-4417
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:
C/C++
ludek_x += 40; //przesunięcie w prawo
P-4418
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.
P-4419
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.
P-4420
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 ;/
P-4421
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
P-4422
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
P-4423
Ju1ian
Temat założony przez niniejszego użytkownika
» 2009-02-24 15:21:31
Problem nieaktualny ;P
P-4438
« 1 » 2
  Strona 1 z 2 Następna strona