Daikuu Temat założony przez niniejszego użytkownika |
Połączenie Dźwięku, animacji, klawiatury i myszki z kursu Allegro » 2009-09-26 10:35:46 Witam. Przed chwilą skończyłem czytać ten kurs http://kursy.ddt.pl/?TutorialId=7i mam problem. Chciałbym bardzo połączyć wszystkie te opcje. Głównie dźwięk, animacje i klawiature. Mam tutaj kod i nie wiem czemu wyskakują mi błędy. Jak usune linijke z BITMAP *Bufor to nie mam błędów ale tak... chodze sobie moim ludzikiem po ekranie "gry". Wcisne esc i zacina sie i słychać dźwięk. Wciskam jeszcze raz Esc i się wyłącza cały program. TAKIE MAM BŁĘDY: In function `int _mangled_main()': redeclaration of `BITMAP*bufor' `BITMAP*bufor' previously declared here [Build Error] [Twierdza.o] Error 1 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( 16 ); set_gfx_mode( GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0 ); install_timer(); install_int_ex( increment_speed, BPS_TO_TIMER( 80 ) ); clear_to_color( screen, makecol( 128, 128, 128 ) ); BITMAP * bufor = NULL; BITMAP * ludek0 = NULL; BITMAP * ludek1 = NULL; BITMAP * ludek2 = NULL; BITMAP * ludek3 = NULL; BITMAP * bufor = NULL; SAMPLE * dzwiek = NULL; bufor = create_bitmap( 640, 480 ); if( !bufor ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Nie mogę utworzyć bufora !" ); allegro_exit(); return 0; } ludek0 = load_bmp( "ludek0.bmp", default_palette ); ludek1 = load_bmp( "ludek1.bmp", default_palette ); ludek2 = load_bmp( "ludek2.bmp", default_palette ); ludek3 = load_bmp( "ludek3.bmp", default_palette ); int ludek_x = 100, ludek_y = 100; int frame = 0; while( !key[ KEY_ESC ] ) { while( speed > 0 ) { if( key[ KEY_LEFT ] ) ludek_x--; if( key[ KEY_RIGHT ] ) ludek_x++; if( key[ KEY_UP ] ) ludek_y--; if( key[ KEY_DOWN ] ) ludek_y++; speed--; frame++; if( frame > 80 ) frame = 0; } clear_to_color( bufor, makecol( 150, 150, 150 ) ); if( frame < 20 ) { draw_sprite( bufor, ludek0, ludek_x, ludek_y ); } else if( frame >= 20 && frame < 40 ) { draw_sprite( bufor, ludek1, ludek_x, ludek_y ); } else if( frame >= 40 && frame < 60 ) { draw_sprite( bufor, ludek2, ludek_x, ludek_y ); } else if( frame >= 60 && frame < 80 ) { draw_sprite( bufor, ludek3, ludek_x, ludek_y ); } blit( bufor, screen, 0, 0, 0, 0, 640, 480 ); } install_sound( DIGI_AUTODETECT, MIDI_AUTODETECT, "" ); set_volume( 255, 255 ); bufor = create_bitmap( 640, 480 ); if( !bufor ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "Nie mogę utworzyć bufora !" ); allegro_exit(); return 0; } dzwiek = load_sample( "warkot01.wav" ); if( !dzwiek ) { set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 ); allegro_message( "nie mogę załadować dzwieku !" ); allegro_exit(); return 0; } play_sample( dzwiek, 255, 127, 1000, 1 ); while( !key[ KEY_ESC ] ) { 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 ); } } stop_sample( dzwiek ); destroy_bitmap( bufor ); destroy_sample( dzwiek ); remove_int( increment_speed ); destroy_bitmap( ludek0 ); destroy_bitmap( ludek1 ); destroy_bitmap( ludek2 ); destroy_bitmap( ludek3 ); destroy_bitmap( bufor ); allegro_exit(); return 0; } END_OF_MAIN();
|