Kapitola 2. Animační systém

Od:
  Killer Game Programming in Java
  Andrew Davison
  O'Reilly, May 2005
  ISBN: 0-596-00730-2
  http://www.oreilly.com/catalog/killergame/
  Webová stránka originálu knihy: http://fivedots.coe.psu.ac.th/~ad/jg

Kontaktní adresa:
  Dr. Andrew Davison
  Dept. of Computer Engineering
  Prince of Songkla University
  Hat yai, Songkhla 90112, Thailand
  E-mail: ad@fivedots.coe.psu.ac.th


Použijete-li uvedený kód, pak prosím uvedťe jméno jeho autora a 
odkaz a webovou stránku knihy.

Díky,
  Andrew

---------
K dispozici je 5 souborů:

TimerRes.java:       Stanoví rozlišení systémového časovače Javy, 
                     časovače knihovny Java 3D, počítadla sun.misc.Perf a 
                     metody System.nanoTime() z J2SE 5.0.

StopWatch.java       Třída obalující počítadlo Perf - používá ji soubor TimerRes.java

SleepAcc.java:       Test přesnosti metody sleep() z různými prodlevami.

SwingTimerTest.java:    Test přesnosti časovače javax.swing provádění překreslováním
                        panelu JPanel danou rychlostí FPS (snímků za sekund).
                        Měříme skutečně dosaženou hodnotu FPS.

UtilTimerTest.java      Test přesnosti časovače java.util použitého se třídou 
                        TimerTask pro vykreslování v panelu JPanel danou rychlostí FPS.
                        Měříme skutečně dosaženou hodnotu FPS.


Pokud hledáte programy používající třídu GamePanel vyvinutou
v kapitole 2, najdete je v kapitolách 3 a 4.

**POZNÁMKA**
========
Veškerý zde uvedený kód používá časovač knihovny Java 3D.
To znamená, že není součástí standardní distribuce J2SE a budete
jej muset stáhnout.

Knihovna Java 3D je k dispozici na adrese http://java.sun.com/products/java-media/3D/

Třída StopWatch je vytvořena kolem počítadla sun.misc.Perf, které
je k dispozici od J2SE 1.4.2.

--------
Kompilace (pro všech souborů):

$ javac *.java
    // povede se jen v případě, že je knihovna Java 3D nainstalována;
    // kompilace třídy TimerRes vyžaduje J2SE 5.0 pro metodu System.nanoTime()

--------
Spuštění:

$ java TimerRes


$ java SleepAcc


$ java SwingTimerTest <FPS>
např. 
$ java SwingTimerTest 80
    // okno typu JFrame bude aktualizováno téměř každnou sekundu


$ java UtilTimerTest <FPS>
např.
$ java UtilTimerTest 100
    // okno typu JFrame bude aktualizováno každnou sekundu

---------
Poslední aktualizace: 14. dubna 2005
