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

Długość sampla Allegro

Ostatnio zmodyfikowano 2013-03-28 16:03
Autor Wiadomość
ziajek444
Temat założony przez niniejszego użytkownika
Długość sampla Allegro
» 2013-03-27 20:31:14
No to tak, żeby puścić sampla to wystarczy pisać play_sample(sampl,int,int,int,0) i leci aż się skończy. Ale jak sprawdzić jak długo trwał, trwa, czy będzie trwać? (kombinacje typu puść zlicz licznikiem (licznik++) i masz, odpada!).
//edit:
mam gierke w której sample odtwarzam bez powtórzenia i jak by to wyżej było niewykonywalne to co mam zrobić żeby jak nakłada się kilka sampli tego typu, sample poprzednie nie wyłączały się bo są np muzyką w tle. (w praktyce wygląda to tak, gram sobie z muzyką w tle nagle strzelam przeciwnicy obrywają i wydają dzwięki, potem oni umierają a ja muzyki w tle nie mam, i muszę czekać na następny sampl)
P-79492
Forczek
» 2013-03-28 08:19:59
Jeżeli chcesz sprawdzić długość sampla, to musisz pobawić się z timerem. Piszesz coś takiego
C/C++
if( odtwarzanie sampla )
{
    licznik++;
}
if( licznik == maksymalna wartosc timera )
{
    dlugosc_sampla += 1;
    licznik = 0;
}
To jest z dokładnością do jednej sekundy. Jeżeli chcesz mieć dokładniej, to pobaw się z timerem i wymyśl sobie przelicznik. Oczywiście, ja się na programowaniu nie znam i mogę się mylić. Ale chyba jest dobrze ^^
/edit.
Muzykę w tle daj zapętl. Wstaw tam, aby powtarzała się cały czas. Przy włączaniu. Dopiero, gdy np. jest następny lvl wyłączaj ją. Wtedy powinno działać. Ale daj kawałek kodu najlepiej. Nie cały, tylko ta część z problemem.
P-79511
ziajek444
Temat założony przez niniejszego użytkownika
» 2013-03-28 10:43:39
C/C++
int piosenka = 0;
int muzyka = 1;
//odtwarzacz
if( muzyka == 0 )
{
    stop_sample( dzwiek );
    piosenka++;
    if( piosenka > 2 ) piosenka = 1;
   
    if( piosenka == 1 ) dzwiek = d2;
   
    if( piosenka == 1 ) muzyka = 2600; //długość scieszki (35sec, tak sobie wyliczyłem)
   
    if( piosenka == 2 ) dzwiek = d4;
   
    if( piosenka == 2 ) muzyka = 3000;
   
    play_sample( dzwiek, 255, 127, 1000, 1 );
}
//odtw...
rest( 10 );
Takie coś wymyśliłem, żebym mógł używać zapętlonych piosenek. Tylko czy to mi nie będzie działać inaczej w zależności od szybkości procesora? Słyszałem o timerach ale nie umiem ich używać (nie wiem do której pętli trzeba dać tą pętle while(speed>0))
P-79518
Forczek
» 2013-03-28 16:03:11
Do pętli głównej. Jest kurs allegro 4 na cpp0x.pl poczytaj, tam jest timer dobrze opisany. A w tym kodzie mi się wydaje, że piosenka cały czas będzie się zatrzymywać i włączać.
P-79545
« 1 »
  Strona 1 z 1