| 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 kurshttp://kursy.ddt.pl/?TutorialId=7 i 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();
 
 |