actionscript 3 how to keep track of time elapsed?

2019-02-13 19:50发布

问题:

im new to actionscript3 flash. I have a int variable and i would like to add +2 every second since game started. How can i do this ? how do i know how much time has elapsed? thanks in advance!

回答1:

getTimer() will return an int of exactly how many milliseconds from when flash started.

import flash.utils.getTimer;

var myInt:int = getTimer() * 0.001;

myInt will now be however many seconds the program has been running.

edit: oh to tell how long it has been running just keep the initial myInt and check it against the current timer.

so when the game first starts.

var startTime:int = getTimer();

then every frame or whenever you need to check it.

var currentTime:int = getTimer();


var timeRunning:int = (currentTime - startTime) * 0.001; // this is how many seconds the game has been running.


回答2:

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();


回答3:

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);
}