Flash actionscript 3如何跟踪时间流逝?

Flash actionscript 3如何跟踪时间流逝?,flash,actionscript-3,timer,Flash,Actionscript 3,Timer,我是actionscript3 flash的新手。我有一个int变量,我想在游戏开始后每秒增加+2。我该怎么做?我怎么知道已经过了多少时间?提前谢谢 getTimer()将返回一个整数,精确表示闪存启动后的毫秒数 var a:int = 0; var onTimer:Function = function (e:TimerEvent):void { a += 2; } var timer:Timer = new Timer(1000); timer.addEventListener(

我是actionscript3 flash的新手。我有一个int变量,我想在游戏开始后每秒增加+2。我该怎么做?我怎么知道已经过了多少时间?提前谢谢

getTimer()将返回一个整数,精确表示闪存启动后的毫秒数

var a:int = 0;

var onTimer:Function = function (e:TimerEvent):void {
    a += 2;
}

var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start();
import flash.utils.getTimer;

var myInt:int = getTimer() * 0.001;
myInt现在将是程序运行的秒数

编辑:哦,要知道它已经运行了多长时间,只需保留初始myInt并对照当前计时器进行检查

所以当比赛开始的时候

var startTime:int = getTimer();
然后每一帧或任何时候你需要检查它

var currentTime:int = getTimer();


var timeRunning:int = (currentTime - startTime) * 0.001; // this is how many seconds the game has been running.
var倒计时:定时器=新定时器(1000);
倒计时。addEventListener(TimerEvent.TIMER、timerHandler);
倒计时。开始();
函数timerHandler(e:TimerEvent):无效
{           
var minute=数学楼层(countdown.currentCount/60);
如果(分钟<10)
分钟='0'+分钟;
var秒=倒计时。当前计数%60;
如果(秒<10)
秒='0'+秒;
var timeappeased=分钟+':'+秒;
跟踪(经过的时间);
}

IDE的getTimer返回int,而flash文档中的getTimer返回Number,这一点几乎没有歧义。知道哪一个是正确的是有用的。Cheers标头(库)中的函数声明是“public function getTimer():int”,因此它返回一个int。顺便说一下,这些是actionScript 2引用,而不是actionScript 3引用。你救了我头黑客:)你的例子是错误的:var myInt:int=getTimer()*0.001;myInt将始终为0,因为您将未分配的数字转换为int
var countdown:Timer = new Timer(1000);
countdown.addEventListener(TimerEvent.TIMER, timerHandler);
countdown.start();

function timerHandler(e:TimerEvent):void
{           
    var minute = Math.floor(countdown.currentCount /  60);
    if(minute < 10)
        minute = '0'+minute;

    var second = countdown.currentCount % 60;
    if(second < 10)
        second = '0'+second;


    var timeElapsed = minute +':'+second;
    trace(timeElapsed);
}