Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Allegro dzwięk nie działa.

Ostatnio zmodyfikowano 2010-03-01 18:14
Autor Wiadomość
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:
C/C++
#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"
P-14416
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.
P-14417
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
P-14418
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.
P-14419
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?
P-14420
malan
» 2010-03-01 18:14:20
P-14421
« 1 »
  Strona 1 z 1