wiktor16s Temat założony przez niniejszego użytkownika |
Kolizja w środku mapy » 2012-02-07 20:54:38 Witajcie Panowie. oto screen mojej mapy: http://zapodaj.net/91ccae242dde.bmp.htmlDzięki waszej pomocy udało mi się ustawić kolizję i auto nie wyjeżdża poza zewnętrzne czerwone "barierki" ale szczerze mówiąc nie mam pomysłu jak można najprościej zrobić kolizje w środku mapy, tak aby samochód nie mógł jechać na skróty xD. Myślałem o wgraniu nowej bitmapy i ustawić kolizje auto-bitmapa, ale czy nie da się jakoś inaczej, szybciej, prościej? ps. a jeszcze jedno jest jakiś algorytm na kolizje czegoś z jakimś kolorem? |
|
hincu |
» 2012-02-08 01:14:18 pewnie gdzies jest, czlowieku czy ty wgl szukales cos w googlach lub probowales sam zrobic? czy od razu na forum przyleciales? masz problemy z najprostrzymi rzeczami i biegniesz na forum od razu to boje sie pomyslec co to bedzie w dalszej czesci pisania twojej gry |
|
kampar |
» 2012-02-08 10:09:51 taką kolizję robisz tak samo jak tę co zrobiłeś. Tylko teraz zamiast ograniczać samą pozycję X, musisz wziąć pod uwagę pozycję Y. To są jedne z najprostszych rzeczy, więc zamiast pytać się o wszystko na forum, spróbuj pokombinować sam, bo tylko wtedy czegoś się nauczysz.
Istnieją funkcje dzięki którym możesz pobierać kolor danego piksela, ale w twojej grze kolizje powinny opierać się tylko na kontrolowaniu pozycji samochodu. |
|
wiktor16s Temat założony przez niniejszego użytkownika |
» 2012-02-08 11:34:22 No chodzi o to że szukałem na googlach i na innych forach.
A pozatym jakoś się nie da zrobić tej kolizji tak samo jak robiłem z tą drugą.
|
|
wiktor16s Temat założony przez niniejszego użytkownika |
» 2012-02-08 11:52:26 Pomyślałem o czymś takim: while( !key[ KEY_ESC ] ) { while( speed > 0 ) { if( getpixel( bufor, samochod_x, samochod_y ) != makecol( 255, 0, 0 ) ) { if(( key[ KEY_UP ] ) &&( samochod_y > 40 ) ) { v += 0.02; } if( key[ KEY_DOWN ] ) v -= 0.03; if(( key[ KEY_LEFT ] ) &&( samochod_x > 20 ) ) { kierunek--; } else if(( key[ KEY_RIGHT ] ) &&( samochod_x < 780 ) ) { kierunek++; } if( key[ KEY_SPACE ] && v > 0 ) v -= 0.05; } speed--; } } ale nie działa |
|
DejaVu |
» 2012-02-08 12:08:43 |
|
wiktor16s Temat założony przez niniejszego użytkownika |
» 2012-02-08 12:56:40 Pomogło mi: [C++, Allegro] Kolizja - getpixel() z bitmapą...ale... if( kierunek > 71 ) kierunek = 0;
if( kierunek < 0 ) kierunek = 71;
if( v > 0.7 ) v = 0.7;
if( v <- 0.2 ) v =- 0.2;
if( getpixel( bufor, sx, sy ) != makecol( 192, 192, 192 ) ) v = 0.1;
if( sx > 675 ) v = 0.1;
if( sx < 132 ) v = 0.1;
if( sy < 10 ) v = 0.1;
if( sy > 550 ) v = 0.1; jak mam zrobić aby kolidowało ze wszystkim prócz białego (255,255,255) i szarego (192,192,192)? |
|
lynx |
» 2012-02-08 13:49:56 Ty wgl rozumiesz co paczysz? |
|
« 1 » 2 |