/* スレッドを利用したアニメーション 動作する画像を増やす */ import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; public class xAnime04 extends Applet implements Runnable { Thread xthKeeper; Image ximgBall, ximgBackGrand; int y= 0; // public void start(){ ximgBall = getImage(getCodeBase( ), "ball.gif"); ximgBackGrand = getImage(getCodeBase(), "bg.jpg"); xthKeeper = new Thread(this); // スレッド生成 xthKeeper.start(); // スレッド開始(ready状態へ) } // Runnable対象部分 スレッド実行の時間管理 public void run(){ while(true){ // 実行を継続する条件 repaint(); // 繰返し仕事(画面書き換え) try { // 「指定したミリ秒の間,眠る」をモニタ Thread.sleep(50); // } catch(InterruptedException xe){ } } } // 画面に表示(繰返し仕事) public void paint(Graphics xgPen){ y = y + 3; if (y>200){ y = 0; } xgPen.drawImage(ximgBackGrand,0,0,this); for(int i=0;i<30;i++){ xgpen.drawImage(ximgBall, i*10, y, this); } } public void update(Graphics xgPen) { paint(xgPen); } }