Pogledajte određenu poruku
Staro 12. 08. 2007.   #1
rangy
novi član
 
Datum učlanjenja: 12.08.2007
Poruke: 6
Hvala: 0
0 "Hvala" u 0 poruka
rangy is on a distinguished road
Default Pucanje while() u busy wait-u

Pozdrav,

Imam sledeci problem. Hocu da napravim da se 5 pesama pustaju jedna za drugom. Probao sam sa sledecim kodom.

Kôd:
var pesma:Sound = new Sound();
playing = false;

pustiPesmu_mc.onRelease = function () {	
	for (i = 0; i<5; i++){	
		while (playing) {}		
		pesma.attachSound("sound"+i);
		playing = true;	
		pesma.start();	
		
	}
}

pesma.onSoundComplete = function () {
	playing = false;	
}
Medjutim, Flash je puko na while-u (u ovom slucaju sam proba da resim sa tzv. busy-wait-om)

Dakle pitanje je zasto se "while (playing) {}" blokira iako bi onSoundComplete trebao da je odblokira?


Dalje sam preradio kod i proradio je:

Kôd:
var pesma:Sound = new Sound();
playing = false;

pustiPesmu_mc.onRelease = function () {	
	i = 0;	
	pesma.attachSound("sound"+i);		
	pesma.start();		

}

pesma.onSoundComplete = function () {	
	if (++i < 5) {
		pesma.attachSound("sound"+ i);
		pesma.start();
	}
}
Da li neko mozda zna neki bolji nacin, ovo mi izgleda malo "na silu"?
rangy je offline   Odgovorite uz citat