我有一个简单的计时器,可以实时显示毫秒,秒和分钟。当满足某个条件时,触发停止计时器。我很困惑如何将时间存储在一个对象中,然后在最短的时间内首先显示。
var timer:Timer = new Timer(100);
timer.start();
timer.addEventListener(TimerEvent.TIMER, timerTickHandler);
var timerCount:int = 0;
function timerTickHandler(Event:TimerEvent):void
{
timerCount += 100;
toTimeCode(timerCount);
}
function toTimeCode(milliseconds:int) : void
{
//creating a date object using the elapsed milliseconds
var time:Date = new Date(milliseconds);
//define minutes/seconds/mseconds
var minutes:String = String(time.minutes);
var seconds:String = String(time.seconds);
var miliseconds:String = String(Math.round(time.milliseconds)/100);
//add zero if neccecary, for example: 2:3.5 becomes 02:03.5
minutes = (minutes.length != 2) ? '0'+minutes : minutes;
seconds = (seconds.length != 2) ? '0'+seconds : seconds;
//display elapsed time on in a textfield on stage
timer_txt.text = minutes + ":" + seconds+"." + miliseconds;
}
如果单击按钮,我也有一个按钮,它将布尔值设置为true。
var btn1:Button;
var buttonClckd:Boolean;
if (buttonClckd == true) {
timer.stop();
timeTxt.type = myUsers.userTime;
trace(myUsers.userTime);
trace("Btn1 Click == true");
}
btn1.addEventListener(MouseEvent.CLICK, btn1Clicked);
public function btn1Clickd(e: MouseEvent):void {
trace("btn1 Clicked");
buttonClckd = true;
}
不幸的是,我没有得到" Btn1 Click == true"
答案 0 :(得分:0)
主要观点:
var startingDate:Date;
var compareDate:Date;
var startingTime:uint;
var compareTime:uint;
当你开始游戏时,你会启动这些变量(例如在启动函数中):
startingDate = new Date();
compareDate = new Date();
compareDate.time = startingDate.time;
startingTime = getTimer();
compareTime = 0;
现在您启动一个enterframe或计时器并重置您的时间:
compareTime = getTimer() - startingTime;
compareDate.time = startingDate.time + compareTime;
var elapsedTime:uint = compareDate.time - startingDate.time;
现在,elapsedTime保持正确的时间。
如果你想暂停:
var pauseStart:uint;
暂停功能:
pauseStart = getTimer();
恢复功能中的:
startingTime += getTimer() - pauseStart;
startingDate.time += getTimer() - pauseStart;
现在,您可以使用elapsedTime获得准确的时间系统,从而为您提供自开始以来的正确时间。
关于你的问题,你需要存储的只是毫秒,所以在这种情况下,elapsedTime,较短的是最短的时间。
答案 1 :(得分:-1)
您可以使用| Name | Number | % of total |
| ------------- |:-------------:| -----: |
| Bob | 5 | 25 |
| Sally | 10 | 50 |
| John | 5 | 25 |
功能将Date.UTC()
对象转换为Date
,您可以轻松地比较并选择时间较短的对象。
并且,在您的情况下,使用Number
是过度的,因为您已经有几毫秒的时间来直接导出秒和分钟。同样比较毫秒,比比较Date
对象要容易得多。
Date
最后,为了比较当前或最后的毫秒,你必须存储最顶层的值(或它们的列表,你已经说过你有一个),然后只需要遍历那个集合,填充当前值进入数组的正确位置。