Java のアニメーション手法
Java でのアニメーションの方法とその高速化手法を説明します。
概要 / 
デモについて / 
戻る / 
トップページ
 概要 概要
- アニメーションの方法とその高速化手法を説明します。
    ImageFilter クラスライブラリ
    の応用例にもなっています。
-  
- ImageFilter のパラメーター値を少しずつ変化させて作った画像を
    連続させて表示することで面白い効果が得られます。
    例えば、net.antun.lib.awt.image.WaveImageFilter
    を使うと画像が波打っているアニメーションを
    させる事が出来ます。
    (方法 1)
-  
- ところが、この ImageFilter クラスライブラリは
    パラメーターはすべてコンストラクタ中に指定するようになっているので
    アニメーション用画像 1 コマごとに ImageFilter
    オブジェクトを生成しなければならず、
    効率が悪くなります。
    そこで、パラメーター設定用のメソッドを追加します。
    (方法 2)
-  
- その方法でもリアルタイムに処理すると処理速度の遅さから
    アニメーションがぎこちなくなってしまいます。
    その対処方法として前もって
    アニメーション用画像の全コマを作っておいて表示する方法が
    思い付きます。
    ただし、メモリ消費の激しさや前処理の時間がかかる欠点があります。
    (方法 3)
-  
- そこで Java 1.1 から使用可能になった
    java.awt.image.MemoryImageSource
    クラスのアニメーション機能を利用すると
    かなりそれらの問題を解決できるようになります。
    (方法 4)
 デモについて デモについて
- 方法 1 〜方法 4 の解説のページには
    それぞれの方法で
    
    net.antun.lib.awt.image.WaveImageFilter
    を実際にアニメーションさせたデモがあります。
    処理速度の違いを比べてみてください。
-  
- そのソースコードを公開しますが、
    ライブラリーではないのでパッケージ名は net.antun では始めていませんので、
    ご注意ください。
    ソースコードはご自由に使って頂いて結構です。 
-  
- 
     animation.AnimationDemo animation.AnimationDemo
- デモ本体のアプレットです。
    -  
    
 animation.AnimationCanvas animation.AnimationCanvas
- アニメーション表示をする Canvas で
        ダブルバッファリングをしています。
    -  
    
 animation.Animation animation.Animation
- 各アニメーションクラスのスーパークラスです。
    -  
    
 animation/image/baseImage.jpg animation/image/baseImage.jpg
- デモに使われている画像です。
    
 
 
戻る