Swingにおけるアニメーションの実験(その1)

何でアニメーションが必要かは置いておいて,アニメーションをどうやってさせようかと考えていた.まず,アニメーションの進行がFPSに同期するか,実時間に同期するかでクラス構成が若干変化する.快適性を考えると,実時間に同期したほうが良いだろうという判断で,今回は実時間を選択.
クラス構成としては,アニメーションを管轄するマネージャークラスと,具体的なアニメーションを実現するアニメーションクラスを考える.
マネージャークラスは,定期タイミングごとにアニメーションクラスに対して,アニメーションを行う命令を発行する役割を持つ.そのとき,アニメーション開始からの時間を情報として与える.このとき,定期タイミングの発行は,javax.swing.Timerクラスを用いることにするため,マネージャークラスの役割は,時間管理およびアニメーションクラスの管理となる.また,javax.swing.Timerおよびjava.util.Timerクラスのどちらを使用したほうが有利化は現時点では判断できないため,この二つの実装およびインターフェイスの違いを,マネージャークラスが吸収する役割も持つ.
アニメーションクラスは,具体的なアニメーション内容の状態遷移を管理する.そして,マネージャークラスからの指示により,現在の時間を用いて,そのときの画面描画を行う.
具体的な実装は,来週ぐらいに行う予定.
あ〜,趣味のコーディングしてる暇がねーorz