Tidimel Opublikowano 21 Lipca 2008 Opublikowano 21 Lipca 2008 Elo. Mam taki problem czy w allegro c++ da się ustawić kolizje pixel per pixel. Robię symulator życia i w poruszaniu po domku by się to przydało. Pozdro.
Konrad-GM Opublikowano 21 Lipca 2008 Opublikowano 21 Lipca 2008 Da się, ale musisz zdobyć jakiś dobry algorytm kolizji :) E: http://www.ziggyware.com/readarticle.php?article_id=48 Nie jest to do allegro ale może się przydać, jeśli allegro posiada dostęp do surfaces i ich pixeli :P
Nicolas Opublikowano 21 Lipca 2008 Opublikowano 21 Lipca 2008 Radze liczyc kolizje metoda SAT: http://www.harveycartel.org/metanet/tutorials/tutorialA.html Udalo mi sie je zaimplementowac, wiec moge pokazac kod. Do rysowania uzywa OpenGL, ale sprawdzanie kolizji jest nie zalezne od API graficznego, wiec to bez roznicy.
Tidimel Opublikowano 21 Lipca 2008 Autor Opublikowano 21 Lipca 2008 Koleś z gamedev, podał mi kawałek swego kodu z uzyciem getpixel(BITMAP,x,y) bardzo fajne. Dla szukających odpowiedzi podaje kod: if ((getpixel(bufor,ludek_x,ludek_y)==makecol(120,120,120)) && (getpixel(bufor,ludek_x+64,ludek_y)==makecol(120,120,120)) && (getpixel(bufor,ludek_x+32,ludek_y)==makecol(120,120,120))) { blok_up=1; } else { blok_up=0; } Są 3 czujniki nad graczem (top-down) i jeśli 3 wykrywają kolor RBG: 120, 120, 120 (szary) to gracz ma zablokowane przejscie do góry. Pozdro.
Rekomendowane odpowiedzi