PDA

Volledige versie bekijken : sound per procent


vjurjen
%Europe/Berlin %506 %2008, 13:09
Hallo,

Ik ben bezig met een preloader waarbij bij elke procent er een geluidje af moet spelen.
Het script ziet er als volgt uit:

var tik = new Sound();
tik.attachSound("tick.wav");

var showPercent = Math.round(getPercent*100);

this.onEnterFrame = function(){
bytes_loaded = Math.round(_root.contentLoader.getBytesLoaded());
bytes_total = Math.round(_root.contentLoader.getBytesTotal());
getPercent = bytes_loaded/bytes_total;
preloaderText.loadText = showPercent+"%";

if(showPercent + 1){
tik.start();
}else{
tik.stop();
}

if (bytes_loaded == bytes_total) {
this.gotoAndPlay(127);
delete this.onEnterFrame;
}else{
this.gotoAndPlay(125);
}
}

Nu blijft ie maar tikken en tikken, het geluid loopt als een onEnterFrame.
Hoe script ik de IF dat als ie met 1 procent omhoog gaat, 1x het geluidje afspeelt?

Alvast bedankt.

vjurjen
%Europe/Berlin %856 %2008, 21:33
Niemand die een oplossing voor dít probleem weet?

Jan
%Europe/Berlin %866 %2008, 21:47
Gebruik de MovieClipLoader class (loadClip()) ipv de loadMovie function/method.
En dan kan je in de onLoadProgress (die automatisch getriggerd wordt telkens er bytes worden weggeschreven) je sound 1 keer (laten) afspelen.

Groeten,
http://users.telenet.be/jansurf/cwo.png Jan

digitalecartoons
%Europe/Berlin %893 %2008, 22:27
Dat snelle getik kwam omdat het percentage constant wordt gechecked. Als ik het percentage even tracede kreeg je b.v.:

1
1
1
1
1
2
2
2
3
3
3
3
4
4
4... etc.

Dan klikte hij bijvoorbeeld vier keer bij percentage 3. Hij zou natuurlijk bij elke percentage verhoging moeten klikken en heb je eigen script daar even op aangepast. Die vergelijkt of het echte percentage getPercent hoger is dan showPercent (die aanvankelijk 0 is). Zo ja, een klik en wordt showPercent de nieuwe getPercent. Die getPercent wordt dan weer hoger dan showPercent en pas dan komt er weer een klik. En zo blijft het zich herhalen. Het het even getest met een download simulatie in Test Movie en bij mij werkt het nu.

var tik = new Sound();
tik.attachSound("tick.wav");
var showPercent = 0;
this.loader.onEnterFrame = function() {
bytes_loaded = _root.getBytesLoaded()/1024;
bytes_total = _root.getBytesTotal()/1024;
getPercent = Math.round(bytes_loaded/(bytes_total/100));
preloaderText.text = getPercent+" %";
if (getPercent>showPercent) {
tik.start();
showPercent = getPercent;
} else {
tik.stop();
}
if (bytes_loaded == bytes_total) {
this.gotoAndPlay(127);
delete this.onEnterFrame;
} else {
this.gotoAndPlay(125);
}
};

vjurjen
%Europe/Berlin %436 %2008, 11:27
Dankjewel!
Hij werkt nu zoals ik het in gedachte had. Wist inderdaad niet hoe ik de if moest schrijven dat als er één hoger is, er een geluidje afspeelt.

Nogmaals dank.