webForumDet fria alternativet

Timer, Progressbar *suck*

2 svar · 360 visningar · startad av Nson

NsonMedlem sedan juni 2001149 inlägg
#1

Hepp!

Håller på med en sak i FlashMX där jag vill ha en progressbar som helt enkelt gör följande:

När man trycker på knapp så skall progressbar starta och gå till 100% på 3 minuter. Har testat en massa men får bara min progressbar att gå från 0 till 99% . (Man ser alltså inte progress). Får inte heller till det här med att göra en timer som uppdaterar progressbar varje sekund.

Hjälp?! Är ett bra rop :)

stop();
actionBtn.label = "Spela in";
playBtn.label = "Spela upp";
playBtn.enabled = False;
timePgb.addEventListener("complete", outofTime);
// Om användaren använder all tid.
actionBtn.addEventListener("click", startRecording);
// Börja inspelning och starta timer

function startRecording(){
	timer = setInterval(updateProgress, 1000);
}

function updateProgress(){
		for (var i = 0; i < 10000; i++) {
  		timePgb.setProgress(i, 10000);
	}
}

function outofTime(){
	out_ns.close();
	trace(" -- Maxtid nådd");
}
mirandirMedlem sedan maj 2003750 inlägg
#2

Du sätter ju progress från 0 till 100% i en for-loop detta gör att den hoppar direkt till 100% eftersom for-loopar alltid körs helt och hållet innan grafiken ritas om. Ta bort for-loopen ur funktionen "updateProgress()" och lägg till en räknare istället.

t.ex:

var time = 0;
var maxTime = 180;
var timer = 0;

... [cut]...
function startRecording(){ 
    timer = setInterval(updateProgress, 1000); 
} 

function updateProgress(){ 
    timePgb.setProgress(time++, maxTime); 
}

... [cut] ...

/Mirandir

NsonMedlem sedan juni 2001149 inlägg
#3

Tack... Du är underbar...

125 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
122 ms — hämta tråd, inlägg och bilagor (db)