⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6.htm

📁 JAVA源程序-动画设计的例子 可用记事本打开
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0062)http://210.34.4.20/library/seminar/teach_htm_java/cap6-3-1.htm -->
<HTML><HEAD><TITLE>6.</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb_2312-80">
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<P><A name=cap6.3.1></A><FONT color=#008000 size=5>6.3 动画</FONT></P>
<P>相 信 许 多 人 在 Internet 上, 都 建 了自 己 心 爱 的 起 始 页, 作 为 网 络上 自 我 宣 传 的 文 档, 为 什 么 
不装 饰 地 华 丽 些 呢? 这 一 节 中 所要 介 绍 的 实 例 就 是 一 个 动 画 的小 应 用 程 序。</P>
<P>动 画 处 理 的 主 要 过 程:<BR>1、 读 入 图 片<BR>2、 显 示</P>
<P>是 不 是 很 简 单? 让 我 们 来 看一 看。</P>
<DIV align=left>
<TABLE border=2>
  <TBODY>
  <TR>
    <TD><PRE>import java.awt.*;
import java.applet.*;

public class TestAnim extends Applet 
            implements Runnable 
{
    Image iImages[];
    Thread animThread;
    int iFrame;
    int iDelay;
    public void init() {
        int i;
        String fps;
        iImages = new <A href="http://210.34.4.20/library/seminar/teach_htm_java/cap6-3-1.htm#foot1"><STRONG>Image</STRONG></A>[6];
        iFrame=0;
        animThread=null;
        for (i=0;i&lt;iImages.length;i++)
            iImages[i]=<A href="http://210.34.4.20/library/seminar/teach_htm_java/cap6-3-1.htm#foot1"><STRONG>getImage</STRONG></A>(<U>getDocumentBase</U>()
                ,"Images/Rolm000"+i+".gif");
        fps=getParameter("FramePerSecond");
        if (fps==null)
            fps="10";
        iDelay=1000/Integer.parseInt(fps);
    }
</PRE></TD>
    <TD>读 入 参 数 及 <A 
      href="http://210.34.4.20/library/seminar/teach_htm_java/cap6-3-1.htm#foot1">图 
      片</A>。</TD></TR>
  <TR>
    <TD><PRE>    public void start() {
        if (animThread == null) {
            animThread = new Thread(this);
            animThread.start();
        }
    }
    public void stop() {
        if (animThread != null) {
            animThread.stop();
            animThread = null;
        }
    }
    public void run() {
        while (true) {
            iFrame++;
            iFrame%=(iImages.length);
            repaint();
            try {
                Thread.sleep(iDelay);
            }
            catch (InterruptedException e) {
            }
        }
    }</PRE></TD>
    <TD>启 动 多 线 程。</TD></TR>
  <TR>
    <TD><PRE>    public void <A href="http://210.34.4.20/library/seminar/teach_htm_java/cap6-3-1.htm#foot2"><STRONG>update</STRONG></A>(Graphics g)
    {
        g.<A href="http://210.34.4.20/library/seminar/teach_htm_java/cap6-3-1.htm#foot2"><STRONG>drawImage</STRONG></A>(iImages[iFrame],0,0,this);
    }
}</PRE></TD>
    <TD><A 
      href="http://210.34.4.20/library/seminar/teach_htm_java/cap6-3-1.htm#foot2">显 
      示</A>。</TD></TR></TBODY></TABLE></DIV>
<P><A 
href="http://210.34.4.20/library/seminar/teach_htm_java/Examples/TestAnim.Htm" 
target=JavaExam><FONT size=4><EM><STRONG>送 至 实 验 板 </STRONG></EM></FONT></A></P>
<P><A name=foot1></A>1、 读 入 图 片</P>
<P>一 是 Image 类, 二 是 getImage 方 法。 <FONT 
color=#ff0080><STRONG>Image</STRONG></FONT> 类 是 Java 中处 理 图 片 的 类; 而 <FONT 
color=#ff0080><STRONG>getImage</STRONG></FONT> 方 法 负 责 装 入 图 片。<FONT 
color=#ff0080>getCodeBase</FONT> 方 法 返 回 Java 类 文 件 所 在 的 URL -- 简 单 说 就 是 网 上 地 
址。 getImage 的 两 个 参 数 合 在 一 起 就 是需 要 的 图 片 文 件 的 名 字。</P>
<P align=right><A 
href="http://210.34.4.20/library/seminar/teach_htm_java/cap6-3-1.htm#cap6.3.1">回 
到 程 序</A></P>
<P><A name=foot2></A>2、 显 示</P>
<P>Graphics 类 的 <FONT color=#ff0080><STRONG>drawImage</STRONG></FONT> 方 法 可 以 在 
Applet 上 画 出 指 定 的图 片。</P>
<P>这 里 重 载 update 方 法 而 不 是 paint 方法 是 因 为 paint 方 法 是 由 <FONT 
color=#ff0080><STRONG>update</STRONG></FONT> 方 法 调用 的, 而 缺 省 的 update 方 法 在 调 用 
paint 前 会 清 屏, 直 接 重 载 paint 方 法会 在 每 次 画 图 片 之 前 都 先 擦 除屏 幕, 会 造 成 闪 烁。 您 可 以 
自己 试 试。</P>
<P><A 
href="http://210.34.4.20/library/seminar/teach_htm_java/java.htm#HP"><EM><STRONG>[</STRONG></EM></A><A 
href="http://210.34.4.20/library/seminar/teach_htm_java/java.htm#cap_6"><EM><STRONG>返 
回 本 章 目 录 |</STRONG></EM></A><A 
href="http://210.34.4.20/library/seminar/teach_htm_java/cap6-3-1.htm#cap6.3.1"><EM><STRONG> 
TOP ]</STRONG></EM></A></P>
<P><A 
href="http://210.34.4.20/library/seminar/teach_htm_java/cap6-4.htm"><EM><STRONG>[下 
一 章 节 ]</STRONG></EM></A></P></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -