こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Javaを説明するには

4枚の絵をパラパラアニメにするソースなのですが。これをわけ合って説明しなくてはならなくなってしまいました。
薄らぼんやりとはわかるのですが。どう説明したらいいのかさっぱり分かりません、どう説明すれば、分かりやすく正しく伝えられるでしょうか?><


import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class DNA extends Applet implements Runnable, ActionListener
{
Image image[] = new Image[4];
int[] timing = { 400,350,230,350};
Thread t;
int index1 = 0;
int no = 0;
private static final long serialVersionUID = 1L;
public void init(){
for(int i = 0; i<4; i++){
image[i] = getImage(getDocumentBase(),"img"+(i)+".gif");
}
}
public void paint(Graphics g){
g.drawImage(image[index1],0,0,this);
}
public void update(Graphics g) {
paint(g);
if(++no==4)no=0;
}
public void start(){
t = new Thread(this);
t.start();
}
public void run() {
while(true){
index1++;
if(index1 == 4){
index1 = 0;
}
repaint();
try{
Thread.sleep(timing[no]);
}catch(InterruptedException e){}
}}
public void actionPerformed(ActionEvent arg0) {
}
}

投稿日時 - 2006-04-20 15:48:27

QNo.2103373

困ってます

質問者が選んだベストアンサー

動作の説明はそんな感じでいいんじゃないでしょうか?

で、paintとrepaintの違いですが、APIマニュアルには
repaintはupdateメソッドを可能な限りすばやく呼びます。
とかかれてます(端折っていますが)。

なので、paintメソッドとrepaintメソッドは処理する内容が違うということになります。

メソッドとか知りたいけど本に無い時はAPIマニュアルを見るといいですよ。

参考URL:http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

投稿日時 - 2006-04-21 17:37:20

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

自分で作成したプログラムなら、なぜそういうコードになったか説明できるんじゃないですか?

人に説明してくれと頼むのはあまりにも都合が良すぎます。
とりあえず、自分で説明を書いてみて添削してもらうっていうのはどうですか。

投稿日時 - 2006-04-20 15:58:09

補足

そうですね、すみません。
本を見ながらやったのではっきりと理解できていなくて;

とりあえず説明すると以下のようになります

スレッドを使用してアニメを作っています。
イメージ、タイミングを配列で読み込み。
repaintで再描画し、sleepで一時停止してタイミングを図っています。
startメソッドではスレッドクラスのオブジェクトを作成しrunメソッドをスタートさせている。(thisというのはアプレット自身ということですよね?)

画像の切り替わりの説明がよく分かりません、
runメソッド、updateメソッドで画像を切り替え、paintメソッドで画像を表示させているでいいのでしょうか?

paintメソッドとrepaint(再描画)の区別がよくわからないです。

投稿日時 - 2006-04-20 23:38:55

あなたにオススメの質問