プロが教えるわが家の防犯対策術!

javaでgifアニメーションを作ってみたいと思い、ネットで色々と検索してみましたがこれといったものが見つかりません。
swing(?)を使わずにappletでやりたいです。どなたか教えてください。お願いします。

A 回答 (2件)

要するに、アプレットでGIFアニメーションを表示する方法、ということですね。

方法はあるんですが、正直にいいまして、Javaの特にAWT関係の基礎知識がないと理解するのがちょっと難しいかと思います。

イメージを表示する際、paintメソッド内でdrawImageを使って描画を行いますね? このとき、引数にImageObserverを指定しているはずです。このImageObserverにはupdateメソッドが用意されていますが、このupdateが呼び出される際、更新のフラグ値のImageObserver.FRAMEBITSのビットがたっていれば、GIFアニメーションのフレーム表示の更新であることを示します。

public void paint(Graphics g){
g.drawImage([Image],[x],[y],this); // [Image],[x],[y]は適時設定
}

public boolean update(Image img,int flag,int x,int y,int w,int h){
super.update(img,flag,x,y,w,h);
if ((flag & ImageObserver.FRAMEBITS) != 0){
return true;
} else{
return flag;
}

ごく大雑把に整理すれば、こういうことです。updateで、(flag & ImageObserver.FRAMEBITS) != 0ならばtrueを返すことでフレーム更新時にrepaitされフレームが切り替わり、GIFイメージがアニメーションして表示されるようになります。return falseすれば更新されずアニメーションは停止します。
 このあたりは、AWTの表示更新の仕組みとImageObserverに関する知識が必要です。それらについて調べてみると良いでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
しかし正直あんまり仰っていることがわかりません。awtについてもっと勉強してみます。

お礼日時:2006/05/11 15:17

>swing(?)を使わずにappletで


参考リンクで基本をまず押さえられた方がよいかと思われます。
http://msugai.fc2web.com/java/

参考URL:http://msugai.fc2web.com/java/
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!