Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Timer-objekt

Timer-objekt har ett par funktioner som du kan använda för att få reda på hur lång och när en viss tid har gått i skript.

Exempel på timer med 1 minuts intervall:

var myTimer;
if(myTimer == undefined)
   myTimer = new Timer(60*1000);

if(mytimer.timeout())
{
   sResult = "60 seconds gone";
   myTimer.start(60*1000);
}

Egenskaper i Timer-objekt

Timer-objekt har inga särskilda egenskaper.

Events i Timer-objekt

Ett Timer-objekt har ett event man kan fånga upp i sitt skript.

onTimeout

Detta event kommer när Timer-objektet har kört den fördefinierade tiden.

Exempel:

var myTimer;
if(myTimer == undefined)
   myTimer = new Timer(60*1000);

myTimer.onTimeout = function()
{
   sResult = "60 seconds gone";
}

Att använda ett event i stället för timeout()-metoden har fördelen att den bara kallas på en gång utan nöd för en edge-boolean som bara hade gjort koden mer stökig.

En timer kan också bli uppsatt att automatiskt vara cyklisk. Detta är mer precist än att starta om timern manuellt eftersom omstarten inte kommer vara knuten till skript-intervallet. Detta är endast användbart om man använder events eftersom timern tekniskt sett bara är ”timed out” i en väldigt kort stund, så timeout()-metoden kommer troligtvis missa det.

Exempel:

//Booleanen i timerns konstruktor indikerar
//att den är cyklisk
var myTimer;
if(myTimer == undefined)
myTimer = new Timer(60*1000, true);
myTimer.onTimeout = function()
{
sResult = "60 seconds gone";
}

Det här exemplet är funktionabelt identisk med det första exemplet, men använder events i stället för timeout()-metoden.

Timer-konstruktorn

new Timer()

Skapar ett nytt tomt Timer-objekt.

new Timer(milliSec)

Skapar ett nytt Timer-objekt och med angiven timeout.

new Timer(milliSec, cyclic)

Skapar ett nytt Timer-objekt med angiven timeout och huruvida den är cyklisk eller inte. En timer är som standard inte cyklisk.

new Timer(milliSec, cyclic, stopped)

Skapar ett nytt Timer-objekt med angiven timeout och huruvida den är cyklisk eller inte samt huruvida den skapas stoppad. En timer är som standard inte cyklisk och inte stoppad.

Timer-prototypen

Timer.prototype.checkInterval()

Startar om timern om inställd tid har gått och timern inte är stoppad och returnerar true om så är fallet.

Timer.prototype.checkInterval(milliSec)

Startar om timern om specificerad tid har gått timern inte är stoppad och returnerar true om så fallet.

Timer.prototype.elapsed()

Returnerar antal millisekunder som gått sen timern startades eller antal millisekunder som gått sedan timern startades och till och med att den stoppades om den är stoppad.

Timer.prototype.isRunning()

Returnerar true om timern löper och false om den är stoppad.

Timer.prototype.start()

Startar/startar om timern med inställd timeout.

Timer.prototype.start(milliSec)

Startar/startar om timern med specifierad tid som timeout.

Timer.prototype.stop()

Stoppar timern om den inte redan var stoppad. Returnerar det antal millisekunder som gått sedan timern startades.

Timer.prototype.timeout()

Kontrollerar om inställd tid har gått.

Timer.prototype.timeout(milliSec)

Kontrollerar om specificerad tid har gått.