Scris: 29 Mai 2011, 01:29
Folosesti aceleasi metode pentru sound, doar ca incarci sunetul cu load sau cu stream.
Un exemplu cu load, cu volum si pauza ar fi urmatorul.
Dupa cod mai sunt cateva mentiuni:
1. Sunt in total 3 if-uri care nu mai contin acoladele, aceasta pentru ca e vorba doar de o instructiune si nu mai sunt necesare, se poate scrie si instructiunea pe acelasi rand.
2. Volumul standard al unui fisier este 0, iar minus 100 este minimum, cand nu se mai aude nimic.
Am pus si un ZIP care contine un fundal.ogg, codul sursa BGT si un fisier compilat EXE:
Download Test cu volum si pauza pe sunet in BGT
Succes!
Un exemplu cu load, cu volum si pauza ar fi urmatorul.
Dupa cod mai sunt cateva mentiuni:
Cod: SelectaĊ£i tot
//lucram doar intr-o functie main, cea care se executa implicit la rularea unui script in BGT:
void main()
{
show_game_window("Test cu sunet");
wait(5); //asteptam 5 milisecunde sa fie sigure treburile.
//declaram obiectul sound cu numele s:
sound s;
//incarcam un fisier ogg numit fundal:
s.load("fundal.ogg");
//setam volumul sunetului la minus 6, aproximativ jumatate ca intensitate din volumul standard care este 0:
s.volume=-6;
//dam play repetitiv la sunet:
s.play_looped();
//deschidem un while care sa mearga la nesfarsit, cel in care, in cazul de fata, se vor verifica tastele apasate prin if-uri:
while(true)
{
//deschidem if-ul care verifica pentru apasarea tastei q sa inchidem programelul cand ne-am saturat de fundal:
if(key_pressed(KEY_Q))
{
exit(); //functia care scoate tot ce tine de script din RAM.
} //inchidem if-ul pentru q.
//deschidem if-ul care verifica pentru cresterea volumului cu tasta punct:
if(key_pressed(KEY_PERIOD))
{
//scriem un rand in care este un if care spune ca volumul sa creasca doar pana la 0, adica atata timp cat e mai mic de 0;
//dupa if, pe acelasi rand marim volumul cu cate o unitate:
if(s.volume<0) s.volume=s.volume+1;
} //inchidem if-ul pentru punct, marire volum.
//deschidem if-ul care verifica pentru micsorarea volumului cu tasta virgula:
if(key_pressed(KEY_COMMA))
{
//scriem un rand in care este un if care spune ca volumul sa scada doar pana la -100, adica atata timp cat e mai mare de minus 100;
//dupa if, pe acelasi rand scadem volumul cu cate o unitate:
if(s.volume>-100) s.volume=s.volume-1;
} //inchidem if-ul pentru virgula, micsorare volum.
//deschidem if-ul care verifica pentru pauza si pentru reluare cu tasta spatiu:
if(key_pressed(KEY_SPACE))
{
//daca fundalul canta, se pune pe pauza:
if(s.playing) s.pause();
//altfel, sa cante repetitiv din locul in care a ramas:
else s.play_looped();
} //inchidem if-ul pentru tasta space.
//punem o asteptare de 5 milisecunde in while ca sa nu ruleze procesorul la 100%:
wait(5);
} //inchidem while-ul deschis inainte de if-uri.
} //inchidem functia main.
2. Volumul standard al unui fisier este 0, iar minus 100 este minimum, cand nu se mai aude nimic.
Am pus si un ZIP care contine un fundal.ogg, codul sursa BGT si un fisier compilat EXE:
Download Test cu volum si pauza pe sunet in BGT
Succes!