Initial
This commit is contained in:
79
java/ANIMATOR/Animate.java
Normal file
79
java/ANIMATOR/Animate.java
Normal file
@@ -0,0 +1,79 @@
|
||||
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();mediaIndex++)
|
||||
{
|
||||
String postFix=String.valueOf(mediaIndex+1);
|
||||
mMediaTracker.addImage(mImages[mediaIndex]=getImage(getCodeBase(),imagePrefix()+postFix+".jpg"),mediaIndex);
|
||||
}
|
||||
try{mMediaTracker.waitForAll(50);}
|
||||
catch(InterruptedException interruptedException){;}
|
||||
repaint();
|
||||
}
|
||||
public void stop()
|
||||
{
|
||||
if(null!=mTimerThread)
|
||||
{
|
||||
mTimerThread.stop();
|
||||
mTimerThread=null;
|
||||
}
|
||||
}
|
||||
public void run()
|
||||
{
|
||||
while(mTimerThread!=null)
|
||||
{
|
||||
try{Thread.sleep(sleepTime());}
|
||||
catch(InterruptedException interruptedException){;}
|
||||
repaint();
|
||||
mImageIndex++;
|
||||
if(mImageIndex>=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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user