Otázka 9 2016/2017

Dynamika založená na čase, události časovače, třída Timer.

časovač – instance třídy Timer

Časovač umožňuje vyvolat událost typu TimerEvent po určeném časovém úseku. Tato událost může být spuštěna opakovaně v nastaveném intervalu.

Deklarace časovače

v konstruktoru mu zadáme interval v milisekundách za jak dlouho má „odbíjet“, případně i počet opakování (pokud druhý parametr nezadáme – odbíjí pořád, dokud ho nestopneme

Delay – parametr, který určuje interval mezi „tikáním“
Takto vytvoříme nový časovač, jehož inteval bude trvat 3 vteřiny

var casovac1:Timer=new Timer(3000);

repeatCount – parametr, který určuje počet opakování
Takto vytvoříme časovač, který bude odbíjet po 3 vteřinách, ale odbije jen pětkrát.

var casovac2:Timer=new Timer(3000,5);

Obě vlastnosti si můžeme nechat vypsat, nebo k nim přistupovat pomocí jména časovače

trace(casovac1.delay); // vrátí 3000
trace (casovac2.repeatCount) // vrátí 5

Spuštění časovače

casovac1.start();

Pozastavení (stopnutí) časovače – zastaví časovač na aktuální hodnotě opakování (repeatCount)

casovac1.stop();

Resetování časovače – vrátí hodnotu repeatCount na začátek (na nulu)

casovac2.reset();

Události časovače

Časovač takzvaně odbíjí při každém uplynutí intervalu – vysílá události typu TimerEvent

  • TimerEvent.TIMER  – odbíjení po uplynutí intervalu
  • TimerEvent.TIMER_COMPLETE – událost, která se spustí po posledním odbíjení, pokud má časovač omezený počet repeatCount

Pro zachytávání událostí časovače je potřeba časovače přiřadit posluchače událostí.

Příklad – odbíjení

// vytvoříme nový časovač
var casovac:Timer = new Timer(3000);

// přiřadíme posluchače události pro každé odbíjení
casovac.addEventListener(TimerEvent.TIMER,odbijeni);
 
function odbijeni(e:TimerEvent) {
   // co se má vykonat	 
}

Příklad – dokončení časovače

casovac.addEventListener(TimerEvent.TIMER_COMPLETE, zastav);
 
function zastav(e:TimerEvent) {
   // co se má vykonat	
}

Posted

in

by

Tags: