操作Java Applet编程实现动画特技[Java编程]
本文“操作Java Applet编程实现动画特技[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Java 不但供应了对图形、图象的支持,还答应用户实现持续的图象播放,即动画技术.Java 动画的实现,首先用Java.awt 包中的 Graphics 类的drawImage()办法在屏幕上画出图象,然后通过定义一个线程,让该线程就寝一段时间,然后再切换成别的一幅图象;如此循环,在屏幕上画出一系列的帧来造成运动的感受,从而到达显示动画的目的.
为了每秒钟多次更新屏幕,必须成立一个线程来实现动画的循环,这个循环要跟踪当前帧并呼应周期性的屏幕更新要求;实现线程的办法有两种,可以成立一个类Thread 的派生类,或附和在一个Runnable 的界面上.
* 动画本领
在编写动画历程时,碰到最常见的问题是屏幕会呈现闪耀现象.闪耀有两个缘由:一是绘制每一帧耗费的时间太长(因为重绘时要求的计算量大);二是在每次调用Pain()前,Java 会用后台颜色重画整个画面,当在举行下一帧的计算时,用户看到的是后台.
有两种办法可以明显地削弱闪耀:重载 update()或利用双缓冲.
(1) 重载 update()
当AWT接纳到一个applet的重绘恳求时,它就调用applet的 update(),默许地,update() 排除applet的后台,然后调用 paint().重载 update(),将从前在paint()中的画图代码包含在update()中,从而避免每次重绘时将整个区域排除.下面是 update()办法的原始程序代码:
public void update(Graphics g)
{
//首先用后台色来绘制整个画面
g.setColor(getBackGround());
g.fillRect(0,0,width,height);
//接着设置前风光为绘制图象的颜色,然后调用paint()办法
g.setColor(getForeGround());
paint(g);
}
所以要消除画面闪耀就一定要改写 update() 办法,使该办法不会排除整个画面,只是消除必要的部份.
以上是“操作Java Applet编程实现动画特技[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |