freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java技術(shù)在游戲開發(fā)的應(yīng)用本科畢業(yè)論文-在線瀏覽

2024-10-30 17:54本頁面
  

【正文】 此花費更多的時間和金錢在游戲上,來改善生活的整體質(zhì)量。 對 Java 游戲開發(fā)技術(shù)的研究,不僅可以促進(jìn) Java 移動開發(fā)的發(fā)展,而且可以創(chuàng)造出更多的游戲,為用戶提供更多的娛樂和體驗。據(jù)有關(guān)單位調(diào)查顯示,從開發(fā)領(lǐng)域的分布情況上看 Web 開發(fā)占了一半以上,為 %, JavaME 移動或嵌入式應(yīng)用占 15%, C/S 應(yīng)用占 %,系統(tǒng)編程占 %。在桌面應(yīng)用上,盡管 Java 在桌面 GUI 方面尚有不盡如人意之處,但仍然有很多開發(fā)者用來開發(fā)運行在多種操作系統(tǒng)平臺上的桌面應(yīng)用 而 Java 在游戲開發(fā)上的應(yīng)用有著很大的優(yōu)勢,憑借 其 “無平臺相關(guān)性”, 4 它可以實現(xiàn) “一處編寫,多處運行“,占領(lǐng)了可移動設(shè)備游戲開發(fā)的重大比例;它的網(wǎng)絡(luò)技術(shù),為游戲開發(fā)中的網(wǎng)絡(luò)連接也提供了技術(shù)保證;而隨著 Java 2D 、Java 3D 技術(shù)的流行,游戲中的圖形開發(fā),為游戲提供了完美的畫面 ;AWT,SWING 技術(shù)則廣泛應(yīng)用與 GUI 的開發(fā),為用戶提供友好的界面;多線程技 術(shù) 則 為游戲流暢的畫面作出了貢獻(xiàn)。 Java 技術(shù)面龐大復(fù)雜,應(yīng)用廣泛,深入各種領(lǐng)域。 本論文著眼于 Java 技術(shù)在游戲開發(fā)中的應(yīng)用, 選取 Java 游戲開發(fā)最流行和重要的技術(shù)進(jìn)行討論, 對廣泛應(yīng)用于 Java 游戲開發(fā)的繪圖技術(shù), IO 技術(shù),交互界面開發(fā)技術(shù),多線程技術(shù), Java2D 技術(shù),網(wǎng)絡(luò)技術(shù)進(jìn)行了介紹,并引用具體的實例進(jìn)行分 析。而對于人工智能技術(shù),由于水平有限、篇幅問題,在此只做簡單的介紹 。它是一種通過解釋方式來執(zhí)行的語言,語法規(guī)則和 C++ 類似。用 Java 語言編寫的程序叫做 “Applet” (小應(yīng)用程序),用編譯器將它編譯成類文件后 ,將它存在 WWW 頁面中,并在 HTML 檔上作好相應(yīng)標(biāo)記,用戶端只要裝上 Java 的客戶軟件就可以在網(wǎng)上直接運行 “Applet” 。 Java 有許多值得稱道的優(yōu)點,如簡單、面向?qū)ο蟆⒎植际?、解釋性、可靠、安全、結(jié)構(gòu)中立性、可移植性、高性能、多線程、動態(tài)性等。 Java 可以運行與任何微處理器,用 Java 開發(fā)的程序可以在網(wǎng)絡(luò)上傳輸,并運行于任何客戶機(jī)上。具體來說,它具有如下特性:簡單性、面向?qū)ο?、分布式、解釋型、可靠、安全、平臺無關(guān)、可移植、高性能、多線程、動態(tài)性等?,F(xiàn)實世界中任何實體都可以看作是對象。另外,現(xiàn)實世界中任何實體都可歸屬于某類事物,任何對象都是某一類事物的實例。用公式表示,過程式編程語言為:程序 =算法 +數(shù)據(jù);面向?qū)ο缶幊陶Z言為:程序 =對象 +消息?,F(xiàn)實世界中的對象均有屬性和行為,映射到計算機(jī)程序上,屬性則表示對象的數(shù)據(jù),行為表示對象的方法(其作用是處理數(shù)據(jù)或同外界交互)。可以說,對象是支持封裝的手段,是封裝的基本單位。而對于這些類型, Java 也提供了相應(yīng)的對象類型以便與其他對象交互操作。舉一個例子,計算機(jī)中的堆??梢源鎯Ω鞣N格式的數(shù)據(jù),包括整型,浮點或字符。針對不同的數(shù)據(jù)類型,編程人員不必手工選擇,只需使用統(tǒng)一接口名,系統(tǒng)可自動選擇。 繼承是指一個對象直接使用另一對象的屬性和方法。例如,若把汽車看成一個實體,它可以分成多個子實體,如:卡車、公共汽車等。 Java 提供給用戶一系列類( class),Java 的類有層次結(jié)構(gòu),子類可以繼承父類的屬性和方法。 平臺無關(guān) 性 Java是平臺無關(guān)的語言是指用 Java寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺上運行。 C 和 C++具有一定程度的源代碼級平臺無關(guān),表明用 C或 C++寫的應(yīng)用程序不用修改只需重新編譯就可以在不同平臺上運行。 JVM 是一種抽象機(jī)器,它附著在具體操作系統(tǒng)之上,本身具有一套虛機(jī)器指令,并有自己的棧、寄存器組等。(目前, SUN系統(tǒng)公司已經(jīng)設(shè)計實現(xiàn)了 Java 芯片,主要使用在網(wǎng)絡(luò)計算機(jī)NC上。) JVM是Java 平臺無關(guān)的基礎(chǔ),在 JVM 上,有一個 Java 解釋器用來解釋 Java 編譯器編譯后的程序。任何一臺機(jī)器只要配備了 Java 解釋器,就可以運行這個程序,而不管這種字節(jié)碼是在何種平臺上生成的(過程如圖 1所示)。通過 JVM 保證數(shù)據(jù)類型的一致性,也確保了 Java 的平臺無關(guān)性。首先,它使得編程人 員所夢寐以求的事情(開發(fā)一次軟件在任意平臺上運行)變成事實,這將大大加快和促進(jìn)軟件產(chǎn)品的開發(fā)。如果大量常用的應(yīng)用軟件(如字處理軟件等)都用 Java 重新編寫,并且放在某個 Inter 服務(wù)器上,那么具有 NC的用戶將不需要占用大量空間安裝軟件,他們只需要一個 Java 解釋器,每當(dāng)需要使用某種應(yīng)用軟件時,下載該軟件的字節(jié)代碼即可,運行結(jié)果也可以發(fā)回服務(wù)器。 可靠性和安全性 Java 最初 設(shè)計目的是應(yīng)用于電子類消費產(chǎn)品,因此要求較高的可靠性。首先,Java 是強(qiáng)類型的語言,要求顯式的方法聲明,這保證了編譯器可以發(fā)現(xiàn)方法調(diào)用錯誤,保證程序更加可靠;其次, Java 不支持指針,這杜絕了內(nèi)存的非法訪問;第三, Java 的自動單元收集防止了內(nèi)存丟失等動態(tài)內(nèi)存分配導(dǎo)致的問題;第四, Java 解釋器運行時實施檢查,可以發(fā)現(xiàn)數(shù)組和字符串訪問的越界,最后,Java 提供了異常處理機(jī)制,程序員可以把一組錯誤代碼放在一個地方,這樣可以簡化錯誤處 理任務(wù)便于恢復(fù)。如果沒有安全保證,用戶從網(wǎng)絡(luò)下載程序執(zhí)行就非常危險。當(dāng) Java 字節(jié)碼進(jìn)入解釋器時,首先必須經(jīng)過字節(jié)碼校驗器的檢查,然后,Java 解釋器將決定程序中類的內(nèi)存布局,隨后,類裝載器負(fù)責(zé)把來自網(wǎng)絡(luò)的類裝載到單獨的內(nèi)存區(qū)域,避免應(yīng)用程序之間相互干擾破壞。上述幾種機(jī)制結(jié)合起來,使得 Java 成為安全的編 程語言。 C和 C++采用單線程體系結(jié)構(gòu),而 Java 卻提供了多線程支持。一方面, Java 環(huán)境本身就是多線程的。 Java 提供了一個類Thread,由它負(fù)責(zé)啟動運行,終止線程,并可檢查線程狀態(tài)。這些原語負(fù)責(zé)對線程實行并發(fā)控 制。必須注意地是, Java 的多線程支持在一定程度上受運行時支持平臺的限制。 9 3 Java 技術(shù)在游戲開發(fā)中的應(yīng)用 Applet中的繪圖 技術(shù) Applet 程序中所采用的 AWT的繪圖機(jī)制主要涉及三個方法: paint()方法、update()方法和 repaint()方法, update()方法和 paint()方法 都有一個Graphics 類參數(shù)。 要進(jìn)行繪圖,首先要找到一個 Graphics類的對象。我們還可以通過 getGraphics()方法得到一個 Graphics 類的對象,這個對象和 update()方法和 paint()方法中所傳遞的對象一 樣,都是該成員所對應(yīng)的 Graphics 類的對象。 Graphics 中提供的圖形繪制方法有: paint( ) //進(jìn)行繪圖的具體操作,必須有程序員重寫 update( ) //用于更新圖形,先清除背景、前景,再調(diào)用 paint() repaint( ) /*用于重繪圖形,在組件外形發(fā)生變化,即大小改變或位置移動時, repaint( )方法立即被系統(tǒng)自動調(diào)用,而實際上 repaint()方法是自動調(diào)用 update()方法 */ 下面的方法支持基本的繪圖和 畫圖像: void drawLine( ) void drawArc( ) void drawPolygon( ) void drawRect( ) void drawRoundRect( ) void fill3DRect( ) void fillOval( ) 實例 1: 10 Applet 的 AWT 繪制 : class ArcCanvas extends Canvas{ //類 ArcCanvas int startAngle=0。 boolean filled=false。 public void paint(Graphics g){ //paint 方法,該方法的作用是在 Canvas 上畫圖 Rectangle r=getBounds()。 int vlines=。 for(int i=1。i++) { (0,i*10,i*10)。i=vlines。 } ()。 } else { (0,0,startAngle, endAngle)。 (font)。 (,0,)。 11 (,0,0,)。 int sy=。 (“ E=” +ednAngle,sx,sy+14)。 =start。} 12 游戲開發(fā)中的交互 一個優(yōu)秀的游戲必定是與玩家不斷的溝通,給予玩家充分的操作時間,而游戲又必須快速地,正確的對玩家的動作作出反映,否則這樣的游戲,不能稱為一個 好 游戲。在 Java 游戲的開發(fā)中,往往使用事件處理器來進(jìn)行設(shè)計。 Java 中的事件 [3]主要有兩種: 1) 組件類事件 ponentEvent、 ContainerEvent、 WindowEvent、 FocusEvent、 PaintEvent、MouseEvent 共六大類, 它們均是當(dāng)組件的狀態(tài)發(fā)生變化時產(chǎn)生。 它們均對應(yīng)用戶的某一種功能性操作動作。 : 用戶編程定義每個特定事件發(fā)生時程序應(yīng)做出何種響應(yīng),并且這些響應(yīng)代碼會在對 應(yīng)的事件發(fā)生時由系統(tǒng)自動調(diào)用。 1) 事件源:產(chǎn)出事件的組件。 3) 事件處理機(jī)制: AWT 組件自身不編程處理相應(yīng)的事件,面是交由事件監(jiān)聽器(它可以是組件所在的容器類或另外的 Java 程序類,只要它們實現(xiàn)了相關(guān)的事件監(jiān)聽器接口即可)處理(事件授權(quán)處理模型)。 5)事件編程的基本原則: 事件處理的類代碼要對某一類事件加以處理,則應(yīng)實現(xiàn)它們所對應(yīng)的接口,并且給出該接口中定義的全部事 件響應(yīng)函數(shù)的功能實現(xiàn)(重寫其函數(shù)體);然后在創(chuàng)建組件時注冊該事件的監(jiān)聽器(響應(yīng)者)。 7)事件注冊函數(shù): 函數(shù)名由 “add + 事件類型對應(yīng)的監(jiān)聽器接口名稱 ” 組成;函數(shù)參數(shù)為監(jiān)聽器對象(實現(xiàn)事件響應(yīng)的類的對象,如容器組件自身響應(yīng)該事件,則監(jiān)聽器對象應(yīng)用 this 代表)。 ② 在事件處理類中重寫(實現(xiàn))其事件處理的函數(shù)體。 由于事件監(jiān)聽器接口是 Abstract 類型,意謂著實現(xiàn)該接口的類應(yīng)全部實現(xiàn)其各個成員函數(shù),但實際應(yīng)用中可能只需處理某些事件響應(yīng)代碼;此時再采用實現(xiàn)事件監(jiān)聽器接口可能會導(dǎo)致編程復(fù)雜。 1) 每一種監(jiān)聽器接口有相應(yīng)的適配器類,程序員只需讓事件處理類從某一適配器類派出而不采用實現(xiàn)監(jiān)聽器接口的方式,這樣僅需重寫用戶感興趣的相應(yīng)函數(shù)體代碼。 14 實例 3[4]: 事件觸發(fā)實例: //偵聽器對象 ButtonEventHandler(用來偵聽按鈕的點擊操作) class ButtonEventHandler implements ActionListener { //窗體對象 private EventDemo form = null。 } //委托方法 public vo
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1