[ enferty @ 17.03.2011. 18:25 ] @
Pozz,

radim jedan flash sajt i interesuje me kako mogu da zaustavim muziku koja krece u prvom frejmu da ne krene ponovo kada se korisnik vrati na pocetak?
Sajt je radjen frejm po frejm, zato je ovo problem.
kod je sledeci:

Code:
mojZvuk = new Sound();
    mojZvuk.loadSound("muzika/track01.mp3", true);
    mojZvuk.start(0, 0);    
        mojZvuk.onSoundComplete = function() {
        mojZvuk.start(0, 0);
        };


kako da mu kazem da ne pusta muziku ponovo ako nije pustena i da se ponavlja?
Hvala na odgovoru.
[ Nikola Medić @ 17.03.2011. 19:11 ] @
To možeš lako uraditi tako što ćeš postaviti neku promenljivu koja će ukazati da li je aplikacija već startovana ili nije. Evo primera :

Definisaćemo promenljivu nazvanu started.
Code:

private var started:Boolean = false;

Definisali smo promeljivu i stavili smo da bude na false, jer aplikacija nije startovana.

Imaš ovu tvoju funkciju :
Code:

private function init():void {
     mojZvuk = new Sound();
     mojZvuk.loadSound("muzika/track01.mp3", true);
     mojZvuk.start(0, 0);    
     mojZvuk.onSoundComplete = function() {
          mojZvuk.start(0, 0);
     }
}


Umesto toga, mi ćemo je promeniti u ovo :
Code:

private var started:Boolean = false;
private function init():void {
     if(started = false) {
          mojZvuk = new Sound();
          mojZvuk.loadSound("muzika/track01.mp3", true);
          mojZvuk.start(0, 0);    
          mojZvuk.onSoundComplete = function() {
               mojZvuk.start(0, 0);
          }
          started = true;
     }
}


U funkciji sam napravio uslov da proveri promenljivu started ako je negativna. Ako je negativna, onda obavlja uslov naveden u funkciji i stavlja started na true, što znači uslov menja promenljivu na pozitivno. Kada se ti opet budeš vratio na taj frejm ( funkciju ), on će je opet proveriti. Ako je started stavljena na true ( što je naravno uradjeno prvi put ), uslov se preskače. Probaj da ubaciš ovaj primer u program pa javi rezultate. Nadam se da ti je pomoglo :)