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

[Allegro, C++] Dźwięk

Ostatnio zmodyfikowano 2010-06-07 15:00
Autor Wiadomość
lenrokskate
» 2010-06-06 23:17:52
raczej SAMPLE - czyli metody end() też w niej nie znajdziemy?
P-17725
malan
» 2010-06-06 23:20:39
@lemis.aryl: Tak..., tzn. teoretycznie. Pisząc, że jest to przykład miałem na myśli, że to sobie wymyśliłem. Tak wg. mnie to mogłoby wyglądać, ale to jest wytwór mojej wyobraźni :). W Allegro takie czegoś nie ma. Sory, za wprowadzenie w błąd.
@up: ... Nie wiem. Raczej nie, bo SAMPLE to struktura, a nie klasa ( wiem Iname, co powiesz :) ).
P-17726
lenrokskate
» 2010-06-06 23:26:58
Najłatwiej zrobić to tak:

C/C++
class DZWIEK
{
public:
    DZWIEK( string sciezka, int sekundy );
   
    int czas; //w sek
    SAMPLE * muza;
}

DZWIEK( string sciezka, int sekundy )
    : czas( sekundy )
{
    muza = load_sample( sciezka.c_str() );
}

dzwiek example( "przyklad001.wav", 210 ); // 3:30

i potem dodajesz timer (co sek) i w nim odejmujesz po 1 sekundzie, aż do zera
P-17728
kamillo121
» 2010-06-07 09:20:16
Lepiej:
C/C++
class Player
{
    std::string Sounds[ 10 ];
    int iSound; //aktualny dzwiek
    int iLength; // długość aktualnego dźwięku
    SOUND * sound;
    Player()
    {
        //Sounds[0]..sounds[9]
        iSound = 0;
        LoadSound();
    }
   
    void LoadSound() // laduje dzwiek i przypisuje adres wskaznikowi sound, nazwe pliku bedzie pobierac z tablicy sounds a iSound to licznik dzwieków
    {
        if( sound == null )
             usunPlik( sound );
       
        ladujPlik( sound );
        iLength = sound.length();
       
        iSound+++;
       
        if( iSound == 9 )
             iSound = 0;
       
    }
   
    void CheckSound()
    {
        if( sound.length() == sound.pos() )
             LoadSound();
       
    }
    void Quit()
    {
        usunPlik( sound );
    }
};

Teraz tylko zamień na funkcje a takowe istnieją
P-17733
lenrokskate
» 2010-06-07 14:30:58
no rzeczywiście twoje lepsze - tamto było na szybko.

Mam tylko jedno pytanie - czemu masz klamoty konstruktora bezpośrednio w klasie?
P-17738
kamillo121
» 2010-06-07 15:00:56
Pchałem wszystko jak leci w klasie bo miałem akurat technologie informacyjna oni tam robili bazy w Accessie a ja na chwile zajrzałem na forum i tak z pośpiechu :)
P-17741
1 « 2 »
Poprzednia strona Strona 2 z 2