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) {
}
}
No.2ベストアンサー
- 回答日時:
動作の説明はそんな感じでいいんじゃないでしょうか?
で、paintとrepaintの違いですが、APIマニュアルには
repaintはupdateメソッドを可能な限りすばやく呼びます。
とかかれてます(端折っていますが)。
なので、paintメソッドとrepaintメソッドは処理する内容が違うということになります。
メソッドとか知りたいけど本に無い時はAPIマニュアルを見るといいですよ。
参考URL:http://java.sun.com/j2se/1.4/ja/docs/ja/api/inde …
No.1
- 回答日時:
自分で作成したプログラムなら、なぜそういうコードになったか説明できるんじゃないですか?
人に説明してくれと頼むのはあまりにも都合が良すぎます。
とりあえず、自分で説明を書いてみて添削してもらうっていうのはどうですか。
この回答への補足
そうですね、すみません。
本を見ながらやったのではっきりと理解できていなくて;
とりあえず説明すると以下のようになります
スレッドを使用してアニメを作っています。
イメージ、タイミングを配列で読み込み。
repaintで再描画し、sleepで一時停止してタイミングを図っています。
startメソッドではスレッドクラスのオブジェクトを作成しrunメソッドをスタートさせている。(thisというのはアプレット自身ということですよね?)
画像の切り替わりの説明がよく分かりません、
runメソッド、updateメソッドで画像を切り替え、paintメソッドで画像を表示させているでいいのでしょうか?
paintメソッドとrepaint(再描画)の区別がよくわからないです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- Java Java 配列<選挙> 4 2023/07/31 15:07
- Java java final 1 2022/06/10 22:49
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
アルファベットのソート
-
フレームの×ボタンを押しても閉...
-
javaの課題でコンパイルエラー...
-
「例外 *** は対応する try 文...
-
JavaMailについて
-
<forEach> 内で供給された "ite...
-
ファイル名を動的に生成したい
-
干支の計算で。。。
-
ループ処理の際、最後だけ","を...
-
C言語のポインターに関する警告
-
System.out.printlnの意味がよ...
-
Javaで改行などが出来ないのです。
-
System.err. printlnとSystem.o...
-
Java配列でNullPointerExceptio...
-
プログラミングの問題です。大...
-
変数を動的に作るには?
-
javaで質問です。 文字列2023/2...
-
VBAで配列の計算
-
JSPでImportエラーになります
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
「例外 *** は対応する try 文...
-
ColabでのPytorchのエラー
-
Javaを使ってデジタル時計を作...
-
<forEach> 内で供給された "ite...
-
文字列を数式に
-
importするには java.io.*; imp...
-
python OpenPyXLを使って出力結...
-
Selenium IDEでexportしたコー...
-
シャットダウンフックが呼ばれない
-
Java3Dで横置き円筒体の円筒中...
-
Javaで常駐するソフトを作って...
-
生年月日と今日の日付から年齢...
-
Javaを使用して定時送信をしたい
-
干支の計算で。。。
-
Java での グローバルIP取得
-
GridBagLayoutについての質問
-
ファイル名を動的に生成したい
-
HTMLでのTableタグデータ取得方法
-
importとextendsの用い方の違い...
おすすめ情報