Tidimel Opublikowano 21 Lipca 2008 Udostępnij 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 21 Lipca 2008 Udostępnij 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nicolas Opublikowano 21 Lipca 2008 Udostępnij 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tidimel Opublikowano 21 Lipca 2008 Autor Udostępnij 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi