2011-03-30 20 views

Respuesta

19

getTimer() devolverá un int de exactamente cuántos milisegundos desde el inicio del flash.

import flash.utils.getTimer; 

var myInt:int = getTimer() * 0.001; 

myInt ahora serán los segundos que el programa haya estado funcionando.

editar: oh, para decir cuánto tiempo ha estado funcionando solo mantenga el myInt inicial y compruébelo con el temporizador actual.

cuando comienza el juego por primera vez.

var startTime:int = getTimer(); 

luego, cada cuadro o cada vez que necesite comprobarlo.

var currentTime:int = getTimer(); 


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

http://help.adobe.com/en_US/as2/reference/flashlite/WS5b3ccc516d4fbf351e63e3d118cd9b5f6e-7a54.html hay poca ambigüedad, veo en getTimer del IDE entero de retorno, mientras que la documentación de flash dice getTimer devuelve Número. Sería útil saber cuál es el correcto. cheers – GameDeveloper

+0

la declaración de función en los encabezados (biblioteca) es "función pública getTimer(): int" por lo que devuelve un int. por cierto, esas son las referencias de ActionScript 2 y no las de ActionScript 3. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/package.html#getTimer() – Feltope

+0

me salvaste headhackes :) – GameDeveloper

1
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(); 
0
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); 
}