Qtk Temat założony przez niniejszego użytkownika |
» 2010-01-06 18:06:47 Wpisałem taki o to kod \ #include <allegro.h> volatile long speed = 0; void increment_speed() { speed++; } END_OF_FUNCTION( increment_speed ); LOCK_VARIABLE( speed ); LOCK_FUNCTION( increment_speed );
int main() { allegro_init(); install_keyboard(); set_color_depth( 32 ); set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0 ); install_timer(); install_int_ex( increment_speed, BPS_TO_TIMER( 100 ) ); clear_to_color( screen, makecol( 128, 128, 128 ) ); install_sound( DIGI_AUTODETECT, MIDI_AUTODETECT, "" ); set_volume( 255, 255 ); BITMAP * bufor = NULL; BITMAP * Kloc1 = NULL; BITMAP * ninja = NULL; SAMPLE * dzwiek = NULL; bufor = create_bitmap( 800, 600 ); if( !bufor ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Nie mogę utworzyć bufora !" ); allegro_exit(); return 0; } ninja = load_bmp( "ninja.bmp", default_palette ); if( !ninja ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "nie mogę załadować obrazka Ludek !" ); allegro_exit(); return 0; } Kloc1 = load_bmp( "Kloc.bmp", default_palette ); if( !Kloc1 ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "nie mogę załadować obrazka Kloc !" ); allegro_exit(); return 0; } dzwiek = load_sample( "muse.wav" ); if( !dzwiek ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "nie mogę załadować dzwieku !" ); allegro_exit(); return 0; } int ninja_x = 100, ninja_y = 100; int Kloc1_x = 200, Kloc1_y = 300; play_sample( dzwiek, 255, 127, 1000, 1 ); while( !key[ KEY_ESC ] ) { clear_to_color( bufor, makecol( 150, 150, 150 ) ); { if( key[ KEY_LEFT ] ) ninja_x--; if( key[ KEY_RIGHT ] ) ninja_x++; if( key[ KEY_UP ] ) ninja_y--; if( key[ KEY_DOWN ] ) ninja_y++; while( speed > 0 ) { if( key[ KEY_LEFT ] ) ninja_x--; if( key[ KEY_RIGHT ] ) ninja_x++; if( key[ KEY_UP ] ) ninja_y--; if( key[ KEY_DOWN ] ) ninja_y++; speed--; } play_sample( dzwiek, 255, 127, 1000, 1 ); speed--; } if( key[ KEY_A ] ) { adjust_sample( dzwiek, 255, 127, 500, 1 ); } if( key[ KEY_S ] ) { adjust_sample( dzwiek, 255, 127, 2000, 1 ); } if( key[ KEY_D ] ) { adjust_sample( dzwiek, 255, 0, 1000, 1 ); } if( key[ KEY_F ] ) { adjust_sample( dzwiek, 255, 255, 1000, 1 ); } masked_blit( ninja, bufor, 0, 0, ninja_x, ninja_y, ninja->w, ninja->h ); masked_blit( Kloc1, bufor, 0, 0, Kloc1_x, Kloc1_y, Kloc1->w, Kloc1->h ); blit( bufor, screen, 0, 0, 0, 0, 800, 600 ); } readkey(); remove_int( increment_speed ); stop_sample( dzwiek ); destroy_bitmap( ninja ); destroy_bitmap( Kloc1 ); destroy_bitmap( bufor ); destroy_sample( dzwiek ); allegro_exit(); return 0; } END_OF_MAIN();
(mam nadzieję,że dobrze:]) i owszem, pokazują się i przesuwaja bitmapy, lecz dzwięk dziwnie się zachowuje, tzn. scina się i nie da się go właściwie słuchać :(.... Nie chciałbym otwierać kolejnych tematów z tak banalną sprawą, lecz problem z bitmapami, a mianowicie z wyświetlaniem tła,a mianowicie -->> http://img705.imageshack.us/img705/8004/problemot.jpg Robiłem według instrukcji z jednego z tematów i coś nie wyświetla dobrze tych bitmap :<. Byłbym wdzięczny za pomoc. |
Qtk Temat założony przez niniejszego użytkownika |
» 2010-01-07 14:24:17 Dziękuje, teraz dobrze działa :). Co do bitmap, nadal ten sam problem, nie mogę użyć koloru 255,255,255 ponieważ jest to kolor biały :(, próbowałem z 255,0,255 i nadal to samo :<. |