?? 6.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<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 + -