import java.awt.*; import java.applet.Applet; public class Animate extends java.applet.Applet implements Runnable { Image mImages[]; Thread mTimerThread; int mImageCount; int mSleepTime; int mImageIndex; String mImagePrefix; MediaTracker mMediaTracker; public Animate() { } public void init() { mImageCount=Integer.parseInt(getParameter("image_count")); mSleepTime=Integer.parseInt(getParameter("sleep")); mImagePrefix=getParameter("prefix"); mImages=new Image[imageCount()]; mImageIndex=0; } public void start() { if(null==mTimerThread){mTimerThread=new Thread(this);mTimerThread.start();} if(null==mMediaTracker)mMediaTracker=new MediaTracker(this); for(int mediaIndex=0;mediaIndex=imageCount())mImageIndex=0; } } public void update(Graphics graphics) { paint(graphics); } public void paint(Graphics graphics) { if(true==mMediaTracker.checkID(mImageIndex))graphics.drawImage(mImages[mImageIndex],0,0,this); else if(true==mMediaTracker.checkID(0))graphics.drawImage(mImages[0],0,0,this); } private int imageCount() { return mImageCount; } private int sleepTime() { return mSleepTime; } private String imagePrefix() { return mImagePrefix; } }