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

Kolizja w środku mapy

Ostatnio zmodyfikowano 2012-02-08 14:00
Autor Wiadomość
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.html

Dzię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?
P-50342
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
P-50353
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.
P-50356
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ą.

P-50361
wiktor16s
Temat założony przez niniejszego użytkownika
» 2012-02-08 11:52:26
Pomyślałem o czymś takim:
C/C++
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
P-50362
DejaVu
» 2012-02-08 12:08:43
Frazy, które należy wpisać w wyszukiwarkę google:
P-50363
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...
C/C++
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; // kolizja ze wszystkim prócz koloru szarego

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)?
P-50364
lynx
» 2012-02-08 13:49:56
Ty wgl rozumiesz co paczysz?
P-50365
« 1 » 2
  Strona 1 z 2 Następna strona