Bartaz Temat założony przez niniejszego użytkownika |
Allegro dzwięk nie działa. » 2010-03-01 17:54:41 Witam pisze sobie gre chciałem dac dzwiek ale gdy daje linijke play_sample(dzwiek, 255,127,1000,1); to nie działa kod: #include <allegro.h> volatile long speed = 0; void increment_speed() { speed++; } END_OF_FUNCTION( increment_speed ); LOCK_VARIABLE( speed ); LOCK_FUNCTION( increment_speed ); class Cpostac { public: short int x, y; short int s, w; }; bool kolizja( int x1, int y1, int s1, int w1, int x2, int y2, int s2, int w2 ) { if( x2 <= x1 + s1 && x2 > x1 && y2 >= y1 && y2 <= y1 + w1 ) return true; else if( x2 <= x1 + s1 && x2 > x1 && y2 + w2 >= y1 && y2 + w2 <= y1 + w1 ) return true; else if( x2 + s2 <= x1 + s1 && x2 + s2 > x1 && y2 >= y1 && y2 <= y1 + w1 ) return true; else if( x2 + s2 <= x1 + s1 && x2 + s2 > x1 && y2 + w2 >= y1 && y2 + w2 <= y1 + w1 ) return true; else return false; }; Cpostac ludeka; int main() { allegro_init(); install_keyboard(); install_timer(); install_int_ex( increment_speed, BPS_TO_TIMER( 50 ) ); install_sound( DIGI_AUTODETECT, MIDI_AUTODETECT, "" ); set_volume( 255, 255 ); set_color_depth( 32 ); set_gfx_mode( GFX_AUTODETECT_WINDOWED, 1000, 600, 0, 0 ); BITMAP * bufor = NULL; BITMAP * mapa = NULL; BITMAP * ludek = NULL; SAMPLE * dzwiek = NULL; bufor = create_bitmap( 1000, 600 ); mapa = load_bitmap( "mapa.bmp", default_palette ); ludek = load_bitmap( "ludek.bmp", default_palette ); dzwiek = load_sample( "muza.mp3" ); play_sample( dzwiek, 255, 127, 1000, 1 ); clear_to_color( bufor,( 100, 200, 150 ) ); ludeka.x = 100; ludeka.y = 550; ludeka.s = 40; ludeka.w = 40; int mapa_x = 0; int mapa_y = 3; while( !key[ KEY_ESC ] ) { while( speed > 0 ) { if( key[ KEY_DOWN ] ) { ludeka.y++; } if( key[ KEY_UP ] ) { ludeka.y--; } if( key[ KEY_LEFT ] ) { ludeka.x--; } if( key[ KEY_RIGHT ] ) { ludeka.x++; } speed--; } blit( bufor, screen, 0, 0, 0, 0, 1000, 600 ); masked_blit( mapa, bufor, 0, 0, mapa_x, mapa_y, mapa->w, mapa->h ); masked_blit( ludek, bufor, 0, 0, ludeka.x, ludeka.y, ludeka.s, ludeka.w ); } allegro_exit(); return( 0 ); } END_OF_MAIN();
znaczy kompiluje sie a potem blad z tym "nie wysylaj" |
|
malan |
» 2010-03-01 18:01:36 Allegro (to podstawowe) obsługuje format *.wav, a nie mp3. Program próbuje wczytać Twoją muzę i to mu się nie udaje, a Ty tego nie sprawdzasz, więc idzie dalej i się wywala ;p. |
|
Bartaz Temat założony przez niniejszego użytkownika |
... » 2010-03-01 18:02:37 Ale w kursie napisane jest ze load_sample... to obsluguje mp3 |
|
malan |
» 2010-03-01 18:05:42 Taaa... ? * load_sample - jest do zastosowania ogólnego, załaduje oba powyższe formaty bez problemu. Ładuje dźwięki na podstawie rozszerzenia.
Możliwe jest oczywiście zastosowanie takich formatów jak MP3 i OGG, wymaga to jednak użycia zewnętrznych bibliotek, dlatego ten temat nie został tutaj poruszony. |
|
|
Bartaz Temat założony przez niniejszego użytkownika |
... » 2010-03-01 18:07:50 Heh nie doczytałem znasz jakis program ktory zmienia na na wav i tylko to bez zadnych bajerow? |
|
malan |
» 2010-03-01 18:14:20 |
|
« 1 » |