[Allegro, C++] Dźwięk
Ostatnio zmodyfikowano 2010-06-07 15:00
lenrokskate |
» 2010-06-06 23:17:52 raczej SAMPLE - czyli metody end() też w niej nie znajdziemy? |
|
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 :) ). |
|
lenrokskate |
» 2010-06-06 23:26:58 Najłatwiej zrobić to tak: class DZWIEK { public: DZWIEK( string sciezka, int sekundy ); int czas; SAMPLE * muza; }
DZWIEK( string sciezka, int sekundy ) : czas( sekundy ) { muza = load_sample( sciezka.c_str() ); }
dzwiek example( "przyklad001.wav", 210 );
i potem dodajesz timer (co sek) i w nim odejmujesz po 1 sekundzie, aż do zera |
|
kamillo121 |
» 2010-06-07 09:20:16 Lepiej: class Player { std::string Sounds[ 10 ]; int iSound; int iLength; SOUND * sound; Player() { iSound = 0; LoadSound(); } void LoadSound() { 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ą |
|
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? |
|
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 :) |
|
1 « 2 » |