- 締切済み
javaappletでgifアニメーション
javaでgifアニメーションを作ってみたいと思い、ネットで色々と検索してみましたがこれといったものが見つかりません。 swing(?)を使わずにappletでやりたいです。どなたか教えてください。お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- hrm_mmm
- ベストアンサー率63% (292/459)
>swing(?)を使わずにappletで 参考リンクで基本をまず押さえられた方がよいかと思われます。 http://msugai.fc2web.com/java/
要するに、アプレットで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に関する知識が必要です。それらについて調べてみると良いでしょう。
お礼
ありがとうございます。 しかし正直あんまり仰っていることがわかりません。awtについてもっと勉強してみます。