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

正文內(nèi)容

java技術(shù)在游戲開發(fā)的應(yīng)用本科畢業(yè)論文(編輯修改稿)

2024-10-02 17:54 本頁面
 

【文章內(nèi)容簡介】 , repaint( )方法立即被系統(tǒng)自動調(diào)用,而實(shí)際上 repaint()方法是自動調(diào)用 update()方法 */ 下面的方法支持基本的繪圖和 畫圖像: void drawLine( ) void drawArc( ) void drawPolygon( ) void drawRect( ) void drawRoundRect( ) void fill3DRect( ) void fillOval( ) 實(shí)例 1: 10 Applet 的 AWT 繪制 : class ArcCanvas extends Canvas{ //類 ArcCanvas int startAngle=0。 int endAngle=45。 boolean filled=false。 Font font。 public void paint(Graphics g){ //paint 方法,該方法的作用是在 Canvas 上畫圖 Rectangle r=getBounds()。 int hlines=。 int vlines=。 ()。 for(int i=1。i=hlines。i++) { (0,i*10,i*10)。 } for(int i=1。i=vlines。i++) { (i*10,0,i*10,)。 } ()。 if(filled) { (0,0,startAngle,endAngle)。 } else { (0,0,startAngle, endAngle)。 } ()。 (font)。 (0,)。 (,0,)。 (0,0,)。 11 (,0,0,)。 int sx=10。 int sy=。 (“ S=” +startAngle,sx,sy)。 (“ E=” +ednAngle,sx,sy+14)。 } public void redraw(boolean filled,int start,int end){ //重畫方法 =filled。 =start。 =end。} 12 游戲開發(fā)中的交互 一個優(yōu)秀的游戲必定是與玩家不斷的溝通,給予玩家充分的操作時間,而游戲又必須快速地,正確的對玩家的動作作出反映,否則這樣的游戲,不能稱為一個 好 游戲。所以說,游戲開發(fā)中的交互與其他技術(shù)有著相同的地位,是一個游戲必備的核心。在 Java 游戲的開發(fā)中,往往使用事件處理器來進(jìn)行設(shè)計。 1. 事件:用戶對程序的某一種功能性操作。 Java 中的事件 [3]主要有兩種: 1) 組件類事件 ponentEvent、 ContainerEvent、 WindowEvent、 FocusEvent、 PaintEvent、MouseEvent 共六大類, 它們均是當(dāng)組件的狀態(tài)發(fā)生變化時產(chǎn)生。 2) 動作類事件 ActionEvent、 TextEvent、 AdjustmentEvent、 ItemEvent 共四類。 它們均對應(yīng)用戶的某一種功能性操作動作。 Java 中的事件類都包含在 JDK 的 包中。 : 用戶編程定義每個特定事件發(fā)生時程序應(yīng)做出何種響應(yīng),并且這些響應(yīng)代碼會在對 應(yīng)的事件發(fā)生時由系統(tǒng)自動調(diào)用。 事件委托授權(quán)處理模型 以上版本實(shí)現(xiàn)了事件委托授權(quán)處理模型的機(jī)制。 1) 事件源:產(chǎn)出事件的組件。 2) 監(jiān)聽器:對組件所產(chǎn)生的事件作出具體響應(yīng)的代嗎,即事件產(chǎn)出與處理分別由兩個不同類(它們可以分別放在不同的程序中)加以編程實(shí)現(xiàn)。 3) 事件處理機(jī)制: AWT 組件自身不編程處理相應(yīng)的事件,面是交由事件監(jiān)聽器(它可以是組件所在的容器類或另外的 Java 程序類,只要它們實(shí)現(xiàn)了相關(guān)的事件監(jiān)聽器接口即可)處理(事件授權(quán)處理模型)。 4) 事件處理的包: 包 ,它提供 AWT事件所需的類和接口 ActionEvent 類對應(yīng) ActionListener 接口; MouseEvent 類對應(yīng) MouseMotionListener 接口和 MouseListener 接口; 13 WindonEvent 類對應(yīng) WindonListener 接口 即發(fā)生了 XXXEvent 類型的事件,那么處理該事件的接口為 XXXListener);它們的父類為 EventObject 類。 5)事件編程的基本原則: 事件處理的類代碼要對某一類事件加以處理,則應(yīng)實(shí)現(xiàn)它們所對應(yīng)的接口,并且給出該接口中定義的全部事 件響應(yīng)函數(shù)的功能實(shí)現(xiàn)(重寫其函數(shù)體);然后在創(chuàng)建組件時注冊該事件的監(jiān)聽器(響應(yīng)者)。 6)事件注冊: 事件源通過對特定的事件進(jìn)行注冊,以指定該事件的監(jiān)聽器(響應(yīng)者)是誰。 7)事件注冊函數(shù): 函數(shù)名由 “add + 事件類型對應(yīng)的監(jiān)聽器接口名稱 ” 組成;函數(shù)參數(shù)為監(jiān)聽器對象(實(shí)現(xiàn)事件響應(yīng)的類的對象,如容器組件自身響應(yīng)該事件,則監(jiān)聽器對象應(yīng)用 this 代表)。 8)事件編程步驟: ① 實(shí)現(xiàn)某一事件的監(jiān)聽器接口(定義事件處理類并實(shí)現(xiàn)監(jiān)聽器接口)。 ② 在事件處理類中重寫(實(shí)現(xiàn))其事件處理的函數(shù)體。 ③ 在創(chuàng)建 AWT組件時注 冊事件處理代碼以指定該事件的監(jiān)聽器(響應(yīng)者)是誰 。 由于事件監(jiān)聽器接口是 Abstract 類型,意謂著實(shí)現(xiàn)該接口的類應(yīng)全部實(shí)現(xiàn)其各個成員函數(shù),但實(shí)際應(yīng)用中可能只需處理某些事件響應(yīng)代碼;此時再采用實(shí)現(xiàn)事件監(jiān)聽器接口可能會導(dǎo)致編程復(fù)雜。 JDK中提供事件適配器方式來實(shí)現(xiàn)事件編程。 1) 每一種監(jiān)聽器接口有相應(yīng)的適配器類,程序員只需讓事件處理類從某一適配器類派出而不采用實(shí)現(xiàn)監(jiān)聽器接口的方式,這樣僅需重寫用戶感興趣的相應(yīng)函數(shù)體代碼。 2) 在事件注冊時,應(yīng)將監(jiān)聽器設(shè)為適配器的派生類(子類)對象,該適配器類中 事件響應(yīng)函數(shù)將被執(zhí)行。 14 實(shí)例 3[4]: 事件觸發(fā)實(shí)例: //偵聽器對象 ButtonEventHandler(用來偵聽按鈕的點(diǎn)擊操作) class ButtonEventHandler implements ActionListener { //窗體對象 private EventDemo form = null。 //通過構(gòu)造體傳入窗體對象, //作用在于讓偵聽器對象明白事件源處于 //哪個窗體容器中 public ButtonEventHandler(EventDemo form) { = form。 } //委托方法 public void actionPerformed(ActionEvent e) { //該方法將會把事件的處理權(quán)交給窗體容器類的 //btnPress_Click 方法處理。 (e)。 } } 15 基于 AWT 及 SWING 的游戲界面開發(fā) 抽象窗口工具包 AWT (Abstract Window Toolkit) 是 API 為 Java 程序提供的建立圖形用戶界面 GUI (Graphics User Interface)工具集, AWT 可用于Java 的 applet 和 applications 中。它支持圖形用戶界面編程的功能包括: 用戶界面組件;事件處理模型;圖形和圖像工具,包括形狀、顏色和字體類;布局管理器,可以進(jìn)行靈活的窗口布局而與特定窗口的尺寸和屏幕分辨率無關(guān);數(shù)據(jù)傳送類,可以通過本地平臺的剪貼板來進(jìn)行剪切和粘貼。 AWT 是 Swing 的基礎(chǔ)。 Swing 的產(chǎn)生主要原因就是 AWT 不能滿足圖形化用戶界面發(fā)展的需要。 AWT 設(shè)計的初衷是支持開發(fā)小應(yīng)用程序的簡單用戶界面 。 隨著發(fā)展的需要, Swing 出現(xiàn)了, Swing 組件幾乎 都是輕量組件,與重量組件相比,沒有本地的對等組件,不像重量組件要在它們自己的本地不透明窗體中繪制,輕量組件在它們的重量組件的窗口中繪制。 Swing 是由 100%純 Java 實(shí)現(xiàn)的,Swing 組件是用 Java 實(shí)現(xiàn)的輕量級( lightweight)組件,沒有本地代碼,不依賴操作系統(tǒng)的支持,這是它與 AWT 組件的最大區(qū)別。由于 AWT組件通過與具體平臺相關(guān)的對等類( Peer)實(shí)現(xiàn),因此 Swing 比 AWT 組件具有更強(qiáng)的實(shí)用性。 Swing 在不同的平臺上表現(xiàn)一致,并且有能力提供本地窗口系統(tǒng)不支持的其它特性。 Swing 采用了 一種 MVC 的設(shè)計范式,即 ” 模型 視圖 控制 ”( ModelViewController),其中模型用來保存內(nèi)容,視圖用來顯示內(nèi)容,控制器用來控制用戶輸入。 Swing 外觀感覺采用可插入的外觀感覺( Pluggable Look and Feel, PLamp。F) 實(shí)例 4:[9] Windows 經(jīng)典游戲掃雷 GUI 構(gòu)造代碼: package 。 import .*。 import .*。 import .*。 import 。 16 public class Game extends JFrame implements ActionListener{ private Container myContainer。 private GridLayout myLayout。 ExtendButton[] myButton = new ExtendButton[81]。 private Game() { (“ Game” )。 ( 500,500 )。 ()。 } private void InitButton() { myContainer = getContentPane()。 myLayout = new GridLayout( 9, 9, 1, 1 )。 ( myLayout )。 for(int i=0。 i 81。 i++) { myButton[i] = new ExtendButton()。 myButton[i].SetPostion(i)。 (myButton[i])。 myButton[i].addActionListener( this )。 } ()。 (13)。 show()。 } 17 多線程技術(shù)的應(yīng)用 線程 簡介 [15] 進(jìn)程就是程序的運(yùn)行時的一個實(shí)例。線程 可以看作單獨(dú)地占有 CPU時間來執(zhí)行相應(yīng)的代碼的。對早期的計算機(jī)(如 DOS)而言,線程既是進(jìn)程,進(jìn)程既是進(jìn)程,因為 它 是單線程的。當(dāng)然一個程序可以是多線程的,多線程的各 個線程看上去像是并行地獨(dú)自完成各自的工作,就像一臺一臺計算機(jī)上運(yùn)行著多個處理機(jī)一樣。在多處理機(jī)計算機(jī)上實(shí)現(xiàn)多線程時,它們確實(shí)可
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1