[Allegro 4] Kolizja
Ostatnio zmodyfikowano 2012-08-24 14:45
RazzorFlame |
» 2012-08-22 17:53:53 co do kolizji to jest algorytm easykodera. było juz duzo razy mówione że on jest zły. a co do problemu to nie sprawdzasz czy pocisk jeszcze jest aktywny... zrob sobie zmienna o nazwie "czyAktywny" o typie bool i jesli nastąpila kolizja to juz aktywny nie jest |
|
matiasz Temat założony przez niniejszego użytkownika |
» 2012-08-22 22:15:23 http://www8.zippyshare.com/v/53758861/file.html <<tu jest lik do całego kodu.
Nie wiem już siedzę 2h i męczę się i mi nie wychodzi :/ Więc jak ktoś ma chwilek i może zobaczyć do kodu niech zobaczy. To z funkcją bool też mi nie wychodzi(wywaliłem to z kodu żeby nie mieszać). |
|
RazzorFlame |
» 2012-08-22 22:22:17 matiasz chodzi o to ze dla KAŻDEGO pocisku musisz dodać 1 bool. i w sprawdzać powiedzmy tak: if( jestkolizja(...) && czyAktywny[ i ] == true )... I jesli nastąpiła ta kolizja to dodajesz punkty i ustawiasz czyAktywny na false zeby już sie nie naliczały te punkty |
|
matiasz Temat założony przez niniejszego użytkownika |
» 2012-08-23 23:03:49 To tak nie działa jak Ty piszesz ,albo mi po prostu nie wychodzi 0.o bool pociskAktywny = true; //... if(Collision(bullets[i].x, bullets[i].y,bullets[i].w,bullets[i].h,obrazek_x,obrazek_y,obrazek->w,obrazek->h) && pociskAktywny == true) { punkty +=1; pociskAktywny == false; }
Co zrobiłem źle ? Bo zmiennej pocisk aktywny nie mogę zrobić jako tablicy ,bo mi wywala błąd. |
|
SeaMonster131 |
» 2012-08-24 14:31:18 == to porównanie = to przypisanie. { punkty += 1; pociskAktywny == false; }
|
|
matiasz Temat założony przez niniejszego użytkownika |
» 2012-08-24 14:45:06 Dzięki wielkie wszystkim! Nie wiem czy jestem takim noobem czy to ta skleroza tak działa ,że zapominam co i jak. Najwidoczniej będę musiał jeszcze raz przeczytać Symfonie c++ :D |
|
1 « 2 » |