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

正文內(nèi)容

款手機游戲的開發(fā)與測試-資料下載頁

2025-03-25 04:58本頁面
  

【正文】 示狀態(tài),相比原先只能使用 Canvas 繪圖,需要將所有方向的主角圖像都繪制在 png 圖像中簡化了許多。Sprite 也可以從整合的圖像中讀圖,讀圖時將把大圖分解為若干等寬等高的小圖。每個小圖按照其排列順序有相應的序號,在程序中調(diào)用其序號,就可以繪制出相應的圖片。本程序中的玩家、怪物都由 Sprite 繼承得到。在有些情況下,控制主角的翻轉(zhuǎn),尤其是多幅圖片配合顯示的過程,如果將多圖的共享定位點設置在通常的左上角,將很不容易控制,因為許多翻轉(zhuǎn)都是以其他點為參考電的(比如,中心點) 。由此,引入?yún)⒖键c的概念。參考點由 defineReferencePixel 函數(shù)確定未翻轉(zhuǎn)圖片狀態(tài)時的坐標。默認是(0,0) 點,如果需要,可將參考點設置在畫面邊界之外。在本程序中,由于 J2ME 中提供的 Sprite 類功能有限,所以我自己寫了一個 GamePlayer 類來繼承 Sprite 類,擴充了更多的功能。15 / 19public class GamePlayer extends Sprite{}在游戲中和背景的碰撞檢測始終是個難點,在本程序中是這樣實現(xiàn)的:public void isPeng(int x,int y,int Array[][],int N){for(int i = 0。 i 20。 i++){for(int j = 0。 j 18。 j++){if(Array[i][j] == N){if (!){if( Length * j = x + () /2 amp。amp。 Length *(j + 1) = x + () /2 amp。amp。 10 + Length * i = y amp。amp。 10 + Length *(i + 1) = y){((), 20 + Length *(i + 1))。(“UP: ”+getY())。}//左if( Length * j = x + 1 amp。amp。 Length *(j + 1) = x + 1 amp。amp。 10 + Length * i = y + ()/2 amp。amp。 10 + Length *(i + 1) = y + ()/2){( Length * (j + 1),())。}if( Length * j =x + () 1 amp。amp。 Length *(j + 1) = x + () –1 amp。amp。 10 + Length * i = y + ()/2 amp。amp。 10 + Length *(i + 1) = y + ()/2){(Length * j () ,())。}}//左下if( Length * j = x + 3amp。amp。 Length *(j + 1) = x + 3 amp。amp。 10 + Length * i = y + () amp。amp。 10 + Length *(i + 1) = y + ()){16 / 19((), Length * (i 1))。}//右下if( Length * j = x +() 3 amp。amp。 Length *(j + 1) = x + () 3 amp。amp。 10 + Length * i = y + () amp。amp。 10 + Length *(i + 1) = y + ()){((), Length * (i 1))。Length * i:+Length * (i1))。}}}通過查看背景數(shù)組和玩家坐標,來實現(xiàn)和背景的碰撞檢測。 SoundEffects 類的實現(xiàn)聲音效果是一個游戲中必不可少的部分,沒有了生動的音樂效果,游戲的體驗就會大打折扣。在我們的游戲中當然也不能沒有聲音。在我們的游戲程序中的 PlayMusic 類就是游戲中的音效類。該類的主要功能為使用 Media API 播放游戲中的聲音效果:背景音樂和游戲結(jié)束的提示音。我們用 private Player createPlayer(String filename, String f, int i) 創(chuàng)建播放器。該方法中的 filename 是要播放聲音文件的相對路徑,f 是播放音樂文件的格式,i 用來控制該音樂的播放次數(shù)。在播放某個聲音之前我們都需要調(diào)用 stop 方法來中止聲音(如果聲音未播放則該方法無效) 。游戲中的聲音我們用的 startPlayer 方法來播放。在需要播放游戲中的聲音時我們就調(diào)用該類中相應的方法。5 程序設計過程中遇到的一些重要問題 關于碰撞的問題在游戲中最先要解決的也是最重要的問題就是碰撞檢測的實現(xiàn)以及碰撞后表現(xiàn)出的效果。在彈球游戲中碰撞檢測分為倆種:精靈與精靈之間的碰撞檢測以及精靈與方塊圖層之間的碰撞檢測。精靈與精靈之間的碰撞檢測可以直接調(diào)用 Sprite 類中的 collidesWith()方法或者自己重新 Sprite 類中的 collidesWith()方法并調(diào)用來進行碰撞檢測。在本游戲程序中我們使用的是后者。這點表現(xiàn)效果還是很不錯的。17 / 19再者就是精靈與圖層之間的碰撞檢測即主角與磚塊之間的碰撞檢測。我們精靈中重寫的 collidesWith()方法來檢測它們之間的碰撞檢測,這個時候我們就存在一個怎么樣判斷與小球碰撞的是哪個磚塊的問題。我所采用的是通過查看背景數(shù)組和玩家坐標,來實現(xiàn)和背景的碰撞檢測,但是效果不是很理想。到目前在我們經(jīng)過的多次測試中還沒有出現(xiàn)判斷失誤以及無法判斷等錯誤。可是,效果不理想,我還將繼續(xù)探索更精更有效的算法。 關于游戲畫面的顯示問題在后期測試中發(fā)現(xiàn)游戲在暫停后繼續(xù)游戲時,游戲畫面又恢復為游戲開始的畫面,而不是暫停時的游戲畫面,經(jīng)過多次調(diào)試后發(fā)現(xiàn)問題在 MyGameCanvas類。在仔細閱讀了相關的資料后發(fā)現(xiàn)線程的創(chuàng)建和運行是通過調(diào)用它本身的函數(shù) start()來調(diào)動 run()函數(shù)開始運行的,當 run ()方法執(zhí)行完畢后,線程就結(jié)束了。一旦一個線程執(zhí)行完畢,這個實例就不能再重新啟動,只能重新生成一個新實例,再啟動一個線程。鑒于此,我們決定在 MyGameCanvas 類的 run()內(nèi)設置一個暫停標志量 pause。 這樣就實現(xiàn)了游戲的暫停(掛起)功能。當繼續(xù)游戲后,游戲畫面就是我們暫停時的畫面。結(jié) 論本程序設計實現(xiàn)了手機上以 J2ME 為平臺的堡壘游戲的開發(fā),具有一定的可玩性和復雜性。經(jīng)過了細心的調(diào)試和排錯解決了絕大部分的問題。通過對“沙丘魔堡”這個手機游戲的構(gòu)想,設計,代碼的編寫和調(diào)試,我進一步學習了 J2ME 這個平臺,并對手機游戲編程有了新認識。就我所做的模塊來說,我對 J2ME 中的菜單、聲音、畫布等技術有了更進一步的認識。一個簡單的菜單的背后卻有著不同的寫法以及一些復雜的技術。我現(xiàn)在已經(jīng)做出的是游戲的 版本,實現(xiàn)了游戲的基本功能,離一個完全意義上的手機游戲還有一段的距離:,還沒有經(jīng)過真機調(diào)試;;。這款游戲算是休閑類的一款小游戲,如果能繼續(xù)完善游戲的菜單功能,增加游戲可玩性等,那這款游戲?qū)且豢畋容^具有人氣的手機游戲。參考文獻[1] 胡虛懷,楊志和, 移動設備程序設計[M].北京:清華大學出版社,2022。18 / 19[2] 李振鵬, 手機游戲開發(fā)技術詳解[M]. 北京:清華大學出版社,2022。[3] 開發(fā)精解[M].北京:電子工業(yè)出版社,2022。[4] 技術參考手冊[M].北京:電子工業(yè)出版社,2022。[5] 手機開發(fā)[M].北京:中國鐵道出版社,2022。[6] MIDP [M].北京:北京大學出版社,2022。文檔來源:591 論文網(wǎng)
點擊復制文檔內(nèi)容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1