marianekA Temat założony przez niniejszego użytkownika |
Allegro - nie działa draw_sprite() » 2012-10-12 11:34:17 Zaczynam przygodę z ruchem na ekranie ale na wstępie mam problem z funkcją draw_sprite() - nie wyświetla mi obrazka na ekranie załączam prosty kodzik: #include <allegro.h> BITMAP * klocek = NULL; int main() { allegro_init(); install_keyboard(); set_color_depth( 24 ); set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0 ); clear_to_color( screen, makecol( 10, 100, 110 ) ); klocek = create_bitmap( 50, 50 ); clear_to_color( klocek, makecol( 255, 0, 255 ) ); rect( klocek, 10, 10, 40, 40, makecol( 255, 0, 0 ) ); floodfill( klocek, 1, 1, makecol( 255, 0, 0 ) ); int a = 20; for( int y = 0; y < 28; ++y ) for( int x = 0; x < 38; ++x ) rect( screen, a + x * a, a + y * a, a + x * a + a, a + y * a + a, 0 ); masked_blit( klocek, screen, 0, 0, 100, 100, 50, 50 ); draw_sprite( klocek, screen, 200, 200 ); while( !key[ KEY_ESC ] ); destroy_bitmap( klocek ); allegro_exit(); return 0; } END_OF_MAIN();
Podejrzewam że rozwiązanie jak zwykle jest proste ale moje komórki ostatnio coś źle pracują. |
|
Łukasz123 |
» 2012-10-12 11:41:28 void blit ( BITMAP * source, BITMAP * dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height ) ; Możesz tego użyć zamiast draw_sprite a dlaczego nie działa tamto to ci powiem jak skończę studiować opis tej funkcji na dokumentacji allegro :p
Według dokumentacji to w masked_blit parametr screen jest drugi a pierwsze to chcesz wyświetlić a w draw_sprite odwrotnie,spróbuj odwrócić parametry |
|
marianekA Temat założony przez niniejszego użytkownika |
» 2012-10-12 11:57:27 Łukasz123 - miałeś rację, zamiana parametrów załatwiła sprawę i już widzę 'sprita' - dzięki ci za to. Główkowałem kombinowałem a na to nie wpadłem...ach, nieznajomość angielskiego znowu dała znać o sobie. Pozdrawiam Wszystkich co nie zdążyli przeczytać posta. Problem rozwiązany i temat zamykam.
|
|
« 1 » |