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

正文內(nèi)容

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

 

【正文】 ;AWT,SWING 技術(shù)則廣泛應(yīng)用與 GUI 的開(kāi)發(fā),為用戶(hù)提供友好的界面;多線(xiàn)程技 術(shù) 則 為游戲流暢的畫(huà)面作出了貢獻(xiàn)。 本論文著眼于 Java 技術(shù)在游戲開(kāi)發(fā)中的應(yīng)用, 選取 Java 游戲開(kāi)發(fā)最流行和重要的技術(shù)進(jìn)行討論, 對(duì)廣泛應(yīng)用于 Java 游戲開(kāi)發(fā)的繪圖技術(shù), IO 技術(shù),交互界面開(kāi)發(fā)技術(shù),多線(xiàn)程技術(shù), Java2D 技術(shù),網(wǎng)絡(luò)技術(shù)進(jìn)行了介紹,并引用具體的實(shí)例進(jìn)行分 析。它是一種通過(guò)解釋方式來(lái)執(zhí)行的語(yǔ)言,語(yǔ)法規(guī)則和 C++ 類(lèi)似。 Java 有許多值得稱(chēng)道的優(yōu)點(diǎn),如簡(jiǎn)單、面向?qū)ο?、分布式、解釋性、可靠、安全、結(jié)構(gòu)中立性、可移植性、高性能、多線(xiàn)程、動(dòng)態(tài)性等。具體來(lái)說(shuō),它具有如下特性:簡(jiǎn)單性、面向?qū)ο?、分布式、解釋型、可靠、安全、平臺(tái)無(wú)關(guān)、可移植、高性能、多線(xiàn)程、動(dòng)態(tài)性等。另外,現(xiàn)實(shí)世界中任何實(shí)體都可歸屬于某類(lèi)事物,任何對(duì)象都是某一類(lèi)事物的實(shí)例?,F(xiàn)實(shí)世界中的對(duì)象均有屬性和行為,映射到計(jì)算機(jī)程序上,屬性則表示對(duì)象的數(shù)據(jù),行為表示對(duì)象的方法(其作用是處理數(shù)據(jù)或同外界交互)。而對(duì)于這些類(lèi)型, Java 也提供了相應(yīng)的對(duì)象類(lèi)型以便與其他對(duì)象交互操作。針對(duì)不同的數(shù)據(jù)類(lèi)型,編程人員不必手工選擇,只需使用統(tǒng)一接口名,系統(tǒng)可自動(dòng)選擇。例如,若把汽車(chē)看成一個(gè)實(shí)體,它可以分成多個(gè)子實(shí)體,如:卡車(chē)、公共汽車(chē)等。 平臺(tái)無(wú)關(guān) 性 Java是平臺(tái)無(wú)關(guān)的語(yǔ)言是指用 Java寫(xiě)的應(yīng)用程序不用修改就可在不同的軟硬件平臺(tái)上運(yùn)行。 JVM 是一種抽象機(jī)器,它附著在具體操作系統(tǒng)之上,本身具有一套虛機(jī)器指令,并有自己的棧、寄存器組等。) JVM是Java 平臺(tái)無(wú)關(guān)的基礎(chǔ),在 JVM 上,有一個(gè) Java 解釋器用來(lái)解釋 Java 編譯器編譯后的程序。通過(guò) JVM 保證數(shù)據(jù)類(lèi)型的一致性,也確保了 Java 的平臺(tái)無(wú)關(guān)性。如果大量常用的應(yīng)用軟件(如字處理軟件等)都用 Java 重新編寫(xiě),并且放在某個(gè) Inter 服務(wù)器上,那么具有 NC的用戶(hù)將不需要占用大量空間安裝軟件,他們只需要一個(gè) Java 解釋器,每當(dāng)需要使用某種應(yīng)用軟件時(shí),下載該軟件的字節(jié)代碼即可,運(yùn)行結(jié)果也可以發(fā)回服務(wù)器。首先,Java 是強(qiáng)類(lèi)型的語(yǔ)言,要求顯式的方法聲明,這保證了編譯器可以發(fā)現(xiàn)方法調(diào)用錯(cuò)誤,保證程序更加可靠;其次, Java 不支持指針,這杜絕了內(nèi)存的非法訪(fǎng)問(wèn);第三, Java 的自動(dòng)單元收集防止了內(nèi)存丟失等動(dòng)態(tài)內(nèi)存分配導(dǎo)致的問(wèn)題;第四, Java 解釋器運(yùn)行時(shí)實(shí)施檢查,可以發(fā)現(xiàn)數(shù)組和字符串訪(fǎng)問(wèn)的越界,最后,Java 提供了異常處理機(jī)制,程序員可以把一組錯(cuò)誤代碼放在一個(gè)地方,這樣可以簡(jiǎn)化錯(cuò)誤處 理任務(wù)便于恢復(fù)。當(dāng) Java 字節(jié)碼進(jìn)入解釋器時(shí),首先必須經(jīng)過(guò)字節(jié)碼校驗(yàn)器的檢查,然后,Java 解釋器將決定程序中類(lèi)的內(nèi)存布局,隨后,類(lèi)裝載器負(fù)責(zé)把來(lái)自網(wǎng)絡(luò)的類(lèi)裝載到單獨(dú)的內(nèi)存區(qū)域,避免應(yīng)用程序之間相互干擾破壞。 C和 C++采用單線(xiàn)程體系結(jié)構(gòu),而 Java 卻提供了多線(xiàn)程支持。 Java 提供了一個(gè)類(lèi)Thread,由它負(fù)責(zé)啟動(dòng)運(yùn)行,終止線(xiàn)程,并可檢查線(xiàn)程狀態(tài)。必須注意地是, Java 的多線(xiàn)程支持在一定程度上受運(yùn)行時(shí)支持平臺(tái)的限制。 要進(jìn)行繪圖,首先要找到一個(gè) Graphics類(lèi)的對(duì)象。 Graphics 中提供的圖形繪制方法有: paint( ) //進(jìn)行繪圖的具體操作,必須有程序員重寫(xiě) update( ) //用于更新圖形,先清除背景、前景,再調(diào)用 paint() repaint( ) /*用于重繪圖形,在組件外形發(fā)生變化,即大小改變或位置移動(dòng)時(shí), repaint( )方法立即被系統(tǒng)自動(dòng)調(diào)用,而實(shí)際上 repaint()方法是自動(dòng)調(diào)用 update()方法 */ 下面的方法支持基本的繪圖和 畫(huà)圖像: void drawLine( ) void drawArc( ) void drawPolygon( ) void drawRect( ) void drawRoundRect( ) void fill3DRect( ) void fillOval( ) 實(shí)例 1: 10 Applet 的 AWT 繪制 : class ArcCanvas extends Canvas{ //類(lèi) ArcCanvas int startAngle=0。 public void paint(Graphics g){ //paint 方法,該方法的作用是在 Canvas 上畫(huà)圖 Rectangle r=getBounds()。 for(int i=1。i=vlines。 } else { (0,0,startAngle, endAngle)。 (,0,)。 int sy=。 =start。在 Java 游戲的開(kāi)發(fā)中,往往使用事件處理器來(lái)進(jìn)行設(shè)計(jì)。 它們均對(duì)應(yīng)用戶(hù)的某一種功能性操作動(dòng)作。 1) 事件源:產(chǎn)出事件的組件。 5)事件編程的基本原則: 事件處理的類(lèi)代碼要對(duì)某一類(lèi)事件加以處理,則應(yīng)實(shí)現(xiàn)它們所對(duì)應(yīng)的接口,并且給出該接口中定義的全部事 件響應(yīng)函數(shù)的功能實(shí)現(xiàn)(重寫(xiě)其函數(shù)體);然后在創(chuàng)建組件時(shí)注冊(cè)該事件的監(jiān)聽(tīng)器(響應(yīng)者)。 ② 在事件處理類(lèi)中重寫(xiě)(實(shí)現(xiàn))其事件處理的函數(shù)體。 1) 每一種監(jiān)聽(tīng)器接口有相應(yīng)的適配器類(lèi),程序員只需讓事件處理類(lèi)從某一適配器類(lèi)派出而不采用實(shí)現(xiàn)監(jiān)聽(tīng)器接口的方式,這樣僅需重寫(xiě)用戶(hù)感興趣的相應(yīng)函數(shù)體代碼。 } //委托方法 public void actionPerformed(ActionEvent e) { //該方法將會(huì)把事件的處理權(quán)交給窗體容器類(lèi)的 //btnPress_Click 方法處理。 AWT 是 Swing 的基礎(chǔ)。 Swing 是由 100%純 Java 實(shí)現(xiàn)的,Swing 組件是用 Java 實(shí)現(xiàn)的輕量級(jí)( lightweight)組件,沒(méi)有本地代碼,不依賴(lài)操作系統(tǒng)的支持,這是它與 AWT 組件的最大區(qū)別。 Swing 外觀感覺(jué)采用可插入的外觀感覺(jué)( Pluggable Look and Feel, PLamp。 import .*。 ExtendButton[] myButton = new ExtendButton[81]。 } private void InitButton() { myContainer = getContentPane()。 i 81。 myButton[i].addActionListener( this )。 } 17 多線(xiàn)程技術(shù)的應(yīng)用 線(xiàn)程 簡(jiǎn)介 [15] 進(jìn)程就是程序的運(yùn)行時(shí)的一個(gè)實(shí)例。在多處理機(jī)計(jì)算機(jī)上實(shí)現(xiàn)多線(xiàn)程時(shí),它們確實(shí)可以并行工作,而且采用適當(dāng)?shù)姆謺r(shí)策略可以大大提高程序運(yùn)行的效率。(假設(shè) CPU 輪換周期為 4 個(gè) CPU 時(shí)間,而且線(xiàn)程之間是彼此獨(dú)立的)順序執(zhí)行需要花費(fèi) 19個(gè) CPU 時(shí)間,而并行需要的時(shí)間肯定少于 19個(gè) CPU 時(shí)間,至于具體多少時(shí)間要看那些線(xiàn)程是可以同時(shí)執(zhí)行的。 在 Java 語(yǔ)言中,線(xiàn)程 的 特點(diǎn): 1) 在一個(gè)程序中而言,主線(xiàn)程的執(zhí)行位置就是 main。 18 3) 一個(gè)線(xiàn)程執(zhí)行其代碼是與其他線(xiàn)程獨(dú)立開(kāi)來(lái)的。所以呢,線(xiàn)程執(zhí)行時(shí),每個(gè)線(xiàn)程都有各自的本地變量拷貝。 //與使用八張動(dòng)畫(huà)圖像 MT = new MediaTracker(this)。 (Animation[i],0)。 } catch(MalformedURLException ME){ } getAppletContext().showDocument(ErrorHTML)。 //將線(xiàn)程設(shè)為 null } public void paint(Graphics g) //已將差勁的動(dòng)畫(huà)循環(huán)抽離 { //繪制目前圖像 (Animation[currentImage],50,10,250,250,this)。 } catch(MalformedURLException ME){ } getAppletContext().showDocument(ErrorHTML)。在 中已經(jīng)支援 Java 2D的使用。文中將會(huì)對(duì)這些技術(shù)做概略性地介紹。所謂的 Graphics Context 是與 Graphics Object 相關(guān)狀態(tài)屬性( state attribute)的集合。為了兼顧方便性,此 package中更定義了許多基本幾何圖形,包括 Arc2D 、 CubicCurve2D、Line2D 等。如圖二所示, Areas 支援聯(lián)集( union)、交集( intersection)、差集( subtraction )、 Exclusive OR ( XOR)等布林運(yùn)算。包括 producer/consumer (push) model、 immediatemode model 和 pipeine(pull) model。在此 model下, Programmer 可以透過(guò) 2D API 對(duì) image data( BufferedImage or Raster)做濾鏡的效果。如圖三所示, source image 經(jīng)過(guò) filter,產(chǎn)生出新的圖形。并可 讓 User 設(shè)定 print 的屬性,如雙面列印等。 int h = (this)。 BufferedImageOp biop = null。 ConvolveOp cop = new ConvolveOp(kernel,null)。 (bimg,biop,0,0)。 Java 所提供的網(wǎng)絡(luò)功能可大致分為三大類(lèi): 1) URL 和 URLConnection 這是三大類(lèi)功能中最高級(jí)的一種。一般在 TCP/IP 網(wǎng)絡(luò)協(xié)議下的客戶(hù)服務(wù)器軟件采用 Socket 作為交互的方式。也就是說(shuō), Datagram 不能保證傳送質(zhì)量。 int port = 80。 theOutputStream = new PrintStream(())。 ()。 } } 26 人工智能 人工智能 (Artificial Intelligence) ,英文縮寫(xiě)為 AI。從那以后 ,研究者們發(fā)展了眾多理論和原理 ,人工智能的概念也隨之?dāng)U展。例如繁重的科學(xué)和工程計(jì)算本來(lái)是要人腦來(lái)承擔(dān)的,現(xiàn)在計(jì)算機(jī)不但能完成這種計(jì)算 , 而且能夠比 人腦 做得更快、更準(zhǔn)確,因之當(dāng)代人已不再把這種計(jì)算看作是 “ 需要人類(lèi)智能才能完成的復(fù)雜任務(wù) ”, 可見(jiàn)復(fù)雜工作的定義是隨著時(shí)代的發(fā)展和技術(shù)的進(jìn) 步而變化的 , 人工智能這門(mén)科學(xué)的具體目標(biāo)也自然隨著時(shí)代的變化而發(fā)展。人工智能學(xué)科研究的主要內(nèi)容包括:知識(shí)表示、自動(dòng)推理和搜索方法、機(jī)器學(xué)習(xí)和知識(shí)獲取、知識(shí)處理系統(tǒng)、自然語(yǔ)言理解、計(jì)算機(jī)視覺(jué)、 智能機(jī)器人 、自動(dòng)程序設(shè)計(jì)等方面。 隨著移動(dòng)設(shè)備的性能的日益提升,過(guò)去簡(jiǎn)單的游戲應(yīng)用已經(jīng)不能 滿(mǎn)足用戶(hù)的要求,這就要求我們不斷學(xué)習(xí)新的技術(shù),利用硬件上的提升,開(kāi)發(fā)出更加逼真與復(fù)雜的游戲 應(yīng)用。由于本人水平有限,各種技術(shù)只是淺嘗輒止,并未深入研究。感謝楊 老師為我提供的大量的參考資料和文獻(xiàn),是我在論文開(kāi)發(fā)上得到很重要的思想和強(qiáng)有力的理論依據(jù)。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1