Ich habe einen Timer-Skript:hinzufügen oder entfernen Zeit von einem Countdown
import flash.utils.Timer;
import flash.events.TimerEvent;
var secs:Number = 30;//second
var mins:Number = 2;//minute
var sec_t:String;
var min_t:String;
var my_timer:Timer = new Timer(1000);
my_timer.addEventListener(TimerEvent.TIMER, timerHandler);
my_timer.start();
showTimer.text = "02:30";
function timerHandler(event:TimerEvent):void
{
if (secs == 0)
{
if (mins == 0)
{
my_timer.stop();
trace("Countdown is finished.");
showTimer.text =String(min_t+sec_t)+" Times Up";
return;
}
else
{
--mins;
secs = 59;
}
}
else
{
--secs;
}
sec_t = (secs < 10) ? "0" + String(secs):String(secs);
min_t = (mins < 10) ? "0" + String(mins) + ":":String(mins) + ":";
trace(min_t+sec_t);
showTimer.text =String(min_t+sec_t);
}
wrongBtn.addEventListener(MouseEvent.CLICK, wrongClick);
function wrongClick(event:MouseEvent):void
{
secs = secs - 10;
}
correctBtn.addEventListener(MouseEvent.CLICK, correctClick);
function correctClick(event:MouseEvent):void
{
secs = secs + 10;
}
Es gibt zwei Knöpfe, wrongBtn
und correctBtn
. wrongBtn
verringert die Zeit um 10 Sekunden, correctBtn
erhöht die Zeit um 10 Sekunden. Aber wenn die Timer-Sekunde um 2:05 Uhr ist und ich wrongBtn
drücke, wird die Zeit falsch angezeigt, wie folgt: "2: 0-5". Ebenso, wenn die Zeit um 2:55 Uhr ist und ich die correctBtn
drücke, wird die Zeit als "2:65" angezeigt ...
Wie kann ich das funktionieren, so dass die Ausgabe korrekt angezeigt wird?