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

正文內(nèi)容

基于j2me的手機(jī)游戲開發(fā)正文-在線瀏覽

2024-08-02 00:26本頁面
  

【正文】 troyed狀態(tài)。圖4中startApp()、pauseApp()、destroyApp()是MIDlet接口的抽象方法,實(shí)現(xiàn)該接口的類需要重寫上述三個(gè)抽象方法,以實(shí)現(xiàn)MIDlet程序的狀態(tài)轉(zhuǎn)換功能。MIDlet在移動(dòng)電話上運(yùn)行的完整過程,就是一個(gè)MIDlet狀態(tài)轉(zhuǎn)換過程。然后通常是運(yùn)行startApp()、pauseApp(),這兩個(gè)方法可以重復(fù)多次執(zhí)行。MIDlet程序完整的執(zhí)行過程如圖4所示。其中虛擬機(jī)運(yùn)行在目標(biāo)操作系統(tǒng)之上,對(duì)下層的硬件提供必要的兼容和支持;而核心類庫提供操作系統(tǒng)所需的最小的軟件需求。面對(duì)嚴(yán)格的內(nèi)存限制和當(dāng)前各種各樣的小型設(shè)備,CLDC 不可能覆蓋全部的這些設(shè)備。為了確保與其他 Java 平臺(tái)的兼容性,絕大多數(shù)的CLDC 類庫是從J2SE 和J2EE 中繼承的,是J2SE 和J2EE 的子集。1. 包 包,是包含了Java 語言API 的核心部分繼承下來的類,但是CLDC 只繼承了J2SE 中一半的類,而且一些類中的接口并沒有完全實(shí)現(xiàn)。2)不支持float 和double 數(shù)據(jù)類型及其相應(yīng)的類3)ClassLoader、SecurityManager 等CLDC 規(guī)范上沒有說明必須支持的類也不在此包中。其中的10 個(gè)類是從J2SE 中繼承來的;Timer 和TimerTask 類是MIDP 增加的類。并且,一些抽象類,像FilerInputStream 等,也被省略了,原先從這些抽象類繼承的類便直接從它們的父類InputStream 和OutputStream 中繼承。Connector 類中定義了靜態(tài)方法生成特定類型的Connection,利用這個(gè)Connection 可以訪問網(wǎng)絡(luò)和各種其他設(shè)備。游戲角色動(dòng)作的參數(shù)根據(jù)用戶輸入的信息來改變;改變圖形就是改變圖像的位置和形態(tài),它隨著游戲角色動(dòng)作的參數(shù)的改變而變化。在開發(fā)Java游戲程序時(shí),通常要考慮使用多線程來實(shí)現(xiàn):負(fù)責(zé)改變圖形和刷新顯示屏幕、處理用戶的輸入,處理游戲中各種角色動(dòng)作的參數(shù)變化。用戶輸入和刷新顯示屏幕的處理過程會(huì)自動(dòng)放入事件處理線程中運(yùn)行,改變各種角色動(dòng)作的參數(shù)和改變圖像的位置和形態(tài)的代碼放入由用戶創(chuàng)建的新線程中運(yùn)行,并且它們?cè)谟脩艟€程中周期性地執(zhí)行。圖5 程序中線程說明我們之所以要使用線程,其中一個(gè)原因是使游戲程序具備更強(qiáng)的響應(yīng)特性。如果某個(gè)操作需要占用事件處理線程很長(zhǎng)時(shí)間,那么應(yīng)該啟動(dòng)一個(gè)新線程來執(zhí)行這項(xiàng)操作,否則就可能阻塞事件處理線程。如果那樣做的話,事件處理線程就不能及時(shí)地執(zhí)行用戶輸入事件,游戲看上去就很卡,會(huì)影響游戲的趣味性。處理辦法是:不斷改變圖像在屏幕的位置和圖像形態(tài);同時(shí),在圖像改變之后立刻刷新顯示屏幕。 游戲框架游戲程序的框架實(shí)質(zhì)上就是指游戲引擎,游戲引擎不是什么高深的東西,無論是2D還是3D游戲,無論游戲的大小,都要有游戲引擎起控制作用。游戲框架打好后,就意味游戲引擎的完成,游戲引擎的完成就意味整個(gè)游戲基本成型。 ),它主要負(fù)責(zé)顯示屏幕的刷新和處理用戶的輸入,這個(gè)類繼承了Canvas類,所以具有畫圖、處理用戶輸入和刷新屏幕的功能。這些類都是用于處理游戲角色狀態(tài)變化的。然后,Nurturance根據(jù)玩家的選擇來運(yùn)行GameShop、GameSleep、GameRPG中的一個(gè)類,執(zhí)行完以后,上述中被執(zhí)行的那個(gè)類也返回一個(gè)狀態(tài)值到Nurturance。然后,Nurturance根據(jù)GameDialog和用戶的輸入再次執(zhí)行GameRPG、GameShop、GameSleep中的一個(gè)類的對(duì)象,就這樣循環(huán)運(yùn)行,但每次運(yùn)行后,游戲中各角色狀態(tài)是不一樣的。GameDate是實(shí)體類( 實(shí)體類也是UML中的概念,它用于存儲(chǔ)信息的類,主要是指持久化的數(shù)據(jù)。GameDate用于保存游戲的進(jìn)度。run()部分主要是設(shè)置游戲處理的狀態(tài)和加載圖形等資源,paint *()部分主要是根據(jù)run()中設(shè)置的狀態(tài)在圖形屏幕的緩沖區(qū)中畫圖,deal*()根據(jù)用戶的輸入來改變一些游戲的狀態(tài)。 游戲用例說明 用例小南村生活的事件流 前置條件在用例小南河村生活開始之前,必須在主菜單選擇“開始游戲”的選項(xiàng)。否則,游戲中的人物會(huì)繼續(xù)生活在小南河村。當(dāng)介紹結(jié)束后,用例開始。如果所選的活動(dòng)是去藥店,執(zhí)行分支流G1:買賣藥品。如果所選的活動(dòng)是去回家,執(zhí)行分支流G3:回家休息。買賣結(jié)束后,游戲會(huì)退出買賣界面,用例小南村生活重新開始;如果玩家選“離開”,用例重新開始。一進(jìn)入戰(zhàn)斗模式游戲就會(huì)跳出“攻擊”、“防御”、“道具”、“撤退”四個(gè)選項(xiàng)界面,玩家可以選擇四個(gè)選項(xiàng)之一。玩家如果選“再等等”,用例重新開始。玩家如果選“再等等”,用例重新開始。E2:如果游戲中人物的HP被山賊打到零,人物就死亡了,意味游戲結(jié)束,游戲會(huì)退到游戲主菜單。 后置條件如果游戲人物打敗了東洋浪人,游戲中人物會(huì)結(jié)束上海的生活,并且提示玩家通關(guān)。 擴(kuò)展點(diǎn)無 事件流無當(dāng)離開小南河村后,出現(xiàn)上海的環(huán)境的介紹,并且提示玩家按鍵繼續(xù)顯示游戲背景的介紹。游戲程序會(huì)提示玩家選擇所想要的動(dòng)作:去武器店、去藥店、去客棧、去武館,回村。如果所選的活動(dòng)是去藥店,執(zhí)行分支流S2:買賣藥品。如果所選的活動(dòng)是去武館,執(zhí)行分支流S4:應(yīng)戰(zhàn)東洋浪人。 分支流S1:買武器游戲會(huì)彈出一個(gè)提示框,提示玩家武器店還沒開,然后用例上海生活重新開始。買賣結(jié)束后,游戲會(huì)退出買賣界面,用例上海生活重新開始;如果玩家選“離開”,用例上海生活重新開始。玩家如果選“再等等”,用例上海生活重新開始。如果玩家選擇“繼續(xù)” 選項(xiàng)。如果選“攻擊”,游戲中人物會(huì)攻擊東洋浪人,攻擊一次后,東洋浪人也會(huì)攻擊游戲中人物一次(F1),然后回到四個(gè)選項(xiàng)界面;如果選“防御”,游戲中人物會(huì)在防御姿態(tài)下抵擋一次東洋浪人攻擊,然后回到四個(gè)選項(xiàng)界面;如果選“道具”,游戲中人物會(huì)使用藥品來增加自己的HP值,然后回到四個(gè)選項(xiàng)界面;如果選“撤退”,游戲中人物會(huì)逃離開日本武館。S5:回小南河村游戲中人物會(huì)出現(xiàn)回小南河村的路上,進(jìn)入走路模式。路上有土匪,如果碰到山賊就進(jìn)入戰(zhàn)斗模式。如果選“攻擊”,游戲中人物會(huì)攻擊土匪,攻擊一次后,土匪也會(huì)輪流攻擊游戲中人物一次(F2),然后回到四個(gè)選項(xiàng)界面;如果選“防御”,游戲中人物會(huì)在防御姿態(tài)下抵擋一次土匪的輪流攻擊,然后回到四個(gè)選項(xiàng)界面;如果選“道具”,游戲中人物會(huì)使用藥品來增加自己的HP(體力)值,然后回到四個(gè)選項(xiàng)界面;如果選“撤退”,游戲中人物會(huì)逃離開戰(zhàn)斗,退到尋找模式。F1:如果游戲中人物的HP被東洋浪人打到零,人物就死亡了,意味游戲結(jié)束,游戲會(huì)退到游戲主菜單。第五章 游戲關(guān)鍵技術(shù)處理說明 優(yōu)化內(nèi)存使用:J2EE和J2SE程序員在設(shè)計(jì)程序時(shí),通常不需要關(guān)心內(nèi)存的使用情況,因?yàn)橛蠮ava的垃圾自動(dòng)回收機(jī)制。所以在設(shè)計(jì)J2ME手機(jī)游戲程序時(shí),必須謹(jǐn)慎考慮程序運(yùn)行時(shí)所占用的空間資源。一旦有資源不再使用就應(yīng)該立即釋放,這樣能夠提高程序的空間性能。如果程序想馬上進(jìn)行內(nèi)存垃圾收集工作。但JVM在進(jìn)行垃圾收集時(shí)會(huì)暫停解釋的工作。游戲中會(huì)用到大量的圖片,而加載圖片會(huì)占用較大的內(nèi)存空間和時(shí)間,這樣就可能會(huì)使手機(jī)運(yùn)行速度變慢。 圖形雙緩存:在游戲中,當(dāng)角色在一定的場(chǎng)景中有動(dòng)作時(shí),如行走。由于這發(fā)生在瞬間,所以會(huì)出現(xiàn)閃爍。緩存區(qū)是繪圖時(shí)使用的屏外內(nèi)存區(qū)。后緩存區(qū)只是普通的圖象環(huán)境。本游戲中基本做法是如下,第一步、創(chuàng)建圖象在緩沖區(qū)的圖形環(huán)境: //創(chuàng)建后緩沖區(qū)Image buf = ( (), () )。第二步、將加載后的圖片畫在后緩沖區(qū)繪畫環(huán)境gbuf中: //加載圖片 Image imgStartMenu = (/res/)。第三步、將后緩沖區(qū)整個(gè)繪畫環(huán)境gbuf復(fù)制到屏幕上 // paint(Graphics g)方法是Canvas類中在屏幕上繪制圖象的方法 public void paint(Graphics g) { (buf, 0, 0, 20)。如果系統(tǒng)不支持透明圖形,就會(huì)導(dǎo)致很難繪制精靈(精靈也就是游戲程序中可以四處移動(dòng)的游戲主角)。SetClip()方法是在屏幕上設(shè)置繪制圖形的有效區(qū)域,只有在setClip()方法設(shè)置的區(qū)域內(nèi)的屏幕才會(huì)被改變,而在setClip()設(shè)置以外的圖形是不會(huì)被改變的[ 5 ]。 設(shè)計(jì)重復(fù)按鍵功能簡(jiǎn)化用戶輸入:使用J2ME的移動(dòng)電話時(shí),并不是所有的電話都具有重復(fù)按鍵的功能,例如在本游戲中,如果在游戲玩家需要使用RIGHT鍵移動(dòng)游戲中的人物向前行走時(shí),并且程序不支持重復(fù)按鍵,則玩家要反復(fù)按很多次RIGHT鍵才能使游戲中人物不斷地向前走動(dòng)。在大多數(shù)的移動(dòng)電話并不支持重復(fù)按鍵,但是可以
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1