程序:
import java.awt.*;
import java.applet.Applet;
public class an extends Applet
{
Image[] im; //定义保存图象数据的Image类对象集组成的数组im[]
int total=18; // 图象总数
int cur=0; //当前应该显示的图象
public void init()
{
im=new Image[total]; //创建保存18张图象数据的Image类对象集组成的数组im[]
for(int i=0;i<im.length;i++) //从当前目录images的子目录将0001到00018共18张图象加载
im[i]=getImage(getDocumentBase(),"images//000"+(i+1)+".jpg");
}
public void start() //设为从第一张开始显示
{cur=0;}
public void paint(Graphics g)
{
g.drawImage(im[cur],80,80,this); // 显示当前图象
cur=++cur%total; //确定下一张显示的图象
try{Thread.sleep(3);} //程序休眠50毫秒
catch(InterruptedException e){showStatus(e.toString());} //图片停留50毫秒后被檫除
repaint(); //调用paint()方法 从新显示下一张图片
}
}
总结:
该程序的执行让我们有看到动画显示的效果;这里JAVA实现动画的原理与放映动画片类似;取若干张相关的图象或图片,顺序连续地在屏幕上先显示后檫除,循环往复就可以获得动画的效果.
细致分析程序:
(1)定义Image类型对象集组成的数组im[]来保存图象数据;
(2)从当前目录images的子目录将0001到00018共18张图象加载
注意 for(int i=0;i<im.length;i++)
im[i]=getImage(getDocumentBase(),"images//000"+(i+1)+".jpg");
此for循环语句的表示方法;
(3)计算下一张显示的图象:cur=++cur%total; 语句的表示
(4) try{Thread.sleep(3);} //程序休眠50毫秒
catch(InterruptedException e){showStatus(e.toString());} //图片停留50毫秒后被
檫除