kubawal |
» 2013-07-09 17:19:55 No to podaj kod odpowiedzialny za to twoje postać nie zapadała się w dół |
i jest wzniesienie, on szedł pod tą górkę |
. Bo na razie to prawie tak, jakbyś napisał coś takiego: Siemka, mam problem, rozwiążcie go, jestem w tej kwestii zielony
|
:D |
|
pekfos |
» 2013-07-09 17:51:50 No to podaj kod odpowiedzialny za to twoje |
Z tego co zrozumiałem, on się pyta, jak to napisać (czyli kodu nie ma) postać nie zapadała się w dół |
Sprawdzaj, czy nowa pozycja gracza nie koliduje z podłożem. jest wzniesienie, on szedł pod tą górkę |
Jeśli postać od boku koliduje z podłożem, znajdź dogodną pozycję na wzniesieniu. A gdy przeszkoda to, żeby musiał przeskoczyć :/ |
..a jeśli takiej nie ma, to trzeba skakać (o ile przeszkoda to tylko odpowiednio strome wzniesienie). Jeśli przeszkody chcesz sprawdzać oddzielnie, to tu nie ma już czego tłumaczyć.. |
|
Forczek Temat założony przez niniejszego użytkownika |
» 2013-07-09 18:49:00 No już powoli coś łapię, tylko nie nadal nie rozumiem chyba do końca kolizji pixel per pixel. Nie wiem jak odczytuje się pozycje pixeli czarnych. Gdzie to się zapisuje i jak z tego odczytać, jeżeli bd to wiedzieć, to wtedy chyba poradzę sobie z resztą. |
|
Forczek Temat założony przez niniejszego użytkownika |
» 2013-07-12 15:30:13 Pomorze ktoś? Bo nie wiem jak zapisuje się pozycje pixeli poszczególnych kolorów. Z resztą już sobie poradzę. |
|
pekfos |
» 2013-07-12 18:03:58 |
|
Forczek Temat założony przez niniejszego użytkownika |
» 2013-07-13 12:28:04 Dobrze, ale nadal w tym kodzie ALLEGRO_COLOR al_get_pixel( ALLEGRO_BITMAP * bitmap, int x, int y ) nie rozumiem po co są zmienne x i y. One służą do podania współrzędnych pixela do sprawdzenia, czy może szerokości i długości bitmapy? |
|
SeaMonster131 |
» 2013-07-13 12:34:39 nie rozumiem po co są zmienne x i y. |
Logicznie rzecz biorąc, x, y to pozycja, natomiast w, h to wielkość. Więc nie wiem czego Ty tutaj nie rozumiesz. |
|
Forczek Temat założony przez niniejszego użytkownika |
» 2013-07-13 13:13:04 Nadal nie rozumiem i coś czuję, że robię rażący błąd. int x, y; int r, g, b; bool kolizja_dolu;
ALLEGRO_LOCKED_REGION * lock = al_lock_bitmap( kolizja, ALLEGRO_PIXEL_FORMAT_ANY, ALLEGRO_LOCK_READWRITE ); for( int i = 0; i <= 50; i++ ) { y = ludek_y - 75; x = ludek_x + i; ALLEGRO_COLOR color = al_get_pixel( kolizja, x, y ); al_unmap_rgb( color,( unsigned char * ) & r,( unsigned char * ) & g,( unsigned char * ) & b ); if( r == 255 && g == 255 && b == 255 ) { kolizja_dolu = true; } } if( kolizja_dolu == true ) { al_draw_text( font, al_map_rgb( 255, 0, 0 ), 400, 389, ALLEGRO_ALIGN_CENTRE, "Udalo sie" ); }
Wydaje mi się, że nie mam zielonego pojęcia co robię :/ ludek ma wysokość 75 i szerokość 50 pixeli. |
|
1 « 2 » 3 4 5 6 |