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

正文內(nèi)容

基于j2me技術(shù)的手機(jī)游戲開發(fā)——瘋狂賽車畢業(yè)論文(編輯修改稿)

2025-07-21 02:55 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 E APIs開發(fā)的程序,用于移動(dòng)計(jì)算環(huán)境中。MIDlet需要一個(gè)特殊的運(yùn)行環(huán)境。這個(gè)環(huán)境主要包含一個(gè)應(yīng)用程序管理器,它為在移動(dòng)設(shè)備上選擇和運(yùn)行MIDlet提供方便。每個(gè)MIDlet都是從同一個(gè)標(biāo)準(zhǔn)類中派生出來的。這個(gè)標(biāo)準(zhǔn)類是MIDP API的組成部分,叫做MIDlet類。MIDlet類定義了幾個(gè)方法,其中3個(gè)方法對(duì)開發(fā)MIDlet特別重要:216。 startApp()—啟動(dòng)MIDlet;216。 pauseApp()—暫停MIDlet。216。 destroyApp()—銷毀MIDlet。MIDlet對(duì)應(yīng)三個(gè)狀態(tài):Active(激活)、Paused(掛起) 和Destroyed(銷毀),它們決定了MIDlet如何發(fā)揮作用。這些狀態(tài)直接對(duì)應(yīng)上述三個(gè)方法。消減狀態(tài)(Destroyed)停止?fàn)顟B(tài)(Paused)運(yùn)行狀態(tài)(Active)StartApp()DestroyApp()呼叫MIDlet的構(gòu)造函數(shù)DestroyApp()PauseApp()圖22 MIDlet的流程MIDlet suite是MIDP應(yīng)用程序的最小單位,JAM負(fù)責(zé)將手機(jī)內(nèi)的MIDlet suite以圖形化的方式呈現(xiàn),讓用戶能夠選取欲執(zhí)行的MIDlet suite,一旦選取了某個(gè)MIDlet suite,操作系統(tǒng)就會(huì)激活KVM執(zhí)行里面的MIDlet。MIDlet及相關(guān)的支持類組成了MIDP應(yīng)用程序的實(shí)際內(nèi)容。在MIDP規(guī)范中定義了MIDlet的生命周期,以及可以存在的三種狀態(tài),包括Paused、Active以及Destroyed,每一個(gè)MIDlet在任何時(shí)刻只可能處于其中的一個(gè)狀態(tài)。這三種狀態(tài)的轉(zhuǎn)換關(guān)系如圖22所示:MIDlet有三個(gè)狀態(tài),分別是pause、active和destroyed。在啟動(dòng)一個(gè)MIDlet的時(shí)候,應(yīng)用管理軟件會(huì)首先創(chuàng)建一個(gè)MIDlet實(shí)例并使得他處于pause狀態(tài),當(dāng)startApp()方法被調(diào)用的時(shí)候MIDlet進(jìn)入active狀態(tài),也就是所說的運(yùn)行狀態(tài)。在active狀態(tài)調(diào)用destroyApp(boolean unconditional)或者pauseApp()方法可以使得MIDlet進(jìn)入destroyed或者pause狀態(tài)。值得一提的是destroyApp(boolean unconditional)方法,事實(shí)上,當(dāng)destroyApp()方法被調(diào)用的時(shí)候,AMS通知MIDlet進(jìn)入destroyed狀態(tài)。在destroyed狀態(tài)的MIDlet必須釋放了所有的資源,并且保存了數(shù)據(jù)。如果unconditional為false的時(shí)候,MIDlet可以在接到通知后拋出MIDletStateChangeException而保持在當(dāng)前狀態(tài),如果設(shè)置為true的話,則必須立即進(jìn)入destroyed狀態(tài)。為了能有程序開發(fā)人員控制接口的外觀和行為,需要使用大量的初級(jí)用戶接口類,尤其在游戲程序中,幾乎完全依賴的就是Canvas抽象類進(jìn)行繪圖。從程序開發(fā)的觀點(diǎn)看,Canvas類可與高級(jí)Screen類交互,程序可在需要時(shí)在Canvas中摻入高級(jí)類的組件。Canvas提供了鍵盤事件、指點(diǎn)桿事件(如果設(shè)備支持),并定義了允許將鍵盤按鍵映射為游戲控制鍵的方法。鍵盤事件由鍵代碼指定,但這樣控制游戲會(huì)導(dǎo)致缺乏通用性,并不是每個(gè)設(shè)備的鍵盤布局都適合游戲的操作。應(yīng)當(dāng)將鍵代碼轉(zhuǎn)換為游戲鍵的代碼,以便硬件開發(fā)商能定義他們自己的游戲鍵布局。 基于MIDP的圖像繪制技術(shù),游戲繪圖一般需要手動(dòng)編程使用雙緩沖。需要在paint()方法內(nèi)將所想要畫的圖形畫在一張預(yù)先準(zhǔn)備好的背景上,等所有繪圖操作都完成后再將背景的數(shù)據(jù)拷貝到實(shí)際的屏幕上。Image類提供了一個(gè)建立背景的靜態(tài)方法createImage(int width, int height),再利用getGraphics()方法取得屬于這個(gè)背景的Graphics對(duì)象,所進(jìn)行的繪圖操作都會(huì)作用在背景上,等到全部的繪圖操作完成后,再調(diào)用drawImage()方法將背景的數(shù)據(jù)復(fù)制到實(shí)際顯示的屏幕上。這樣的技術(shù)在繪制動(dòng)畫時(shí)特別有用。繪制動(dòng)畫時(shí)經(jīng)常需要不斷地更新畫面,而更新畫面的操作就是先將屏幕以fillRect()的方式清除,再將下一張圖片畫在屏幕上,然而反復(fù)的清除及重繪會(huì)造成屏幕的閃爍現(xiàn)象(flicker)。因此使用雙重緩沖的好處就是在后臺(tái)進(jìn)行這個(gè)清除及重繪的操作,再將完成的繪圖拷貝到屏幕上。由于用戶看不到清除的操作,因此就不會(huì)出現(xiàn)閃爍的現(xiàn)象了。不過在某些MIDP的實(shí)現(xiàn)上已經(jīng)加上了雙重緩沖的支持,因此在處理前應(yīng)先利用Canvas類的isDoubleBuffer()方法來判斷。,游戲移植性問題初步得到了解決。、Sprite、Layer、LayerManager、TiledLayer五個(gè)與游戲開發(fā)相關(guān)的類,其中 Layer類一般不會(huì)直接用到。GameCanvas類繼承自Canvas,所以具有Canvas所具有的功能,還額外增加了一些便于游戲設(shè)計(jì)的功能。比如: GameCanvas類直接提供了getKeyStates(),使程序員可以在同一個(gè)線程自己偵測(cè)按鍵的狀態(tài)。GameCanvas類提供了flushGraphics()的功能,實(shí)現(xiàn)了雙緩沖技術(shù)。Sprite類是繼承自Layer的用于存儲(chǔ)多幀的基本可視元素。不同的frame可交相顯示,構(gòu)成動(dòng)態(tài)的效果。圖片可翻轉(zhuǎn)和顛倒,由一個(gè)游戲圖片就可以方便的得到所有方向的顯示狀態(tài),相比原先只能使用Canvas繪圖,需要將所有方向的游戲圖像都繪制在png圖像中簡(jiǎn)化了許多。Sprite也可以從整合的圖像中讀圖,讀圖時(shí)將把大圖分解為若干等寬等高的小圖。每個(gè)小圖按照其排列順序有相應(yīng)的序號(hào),在程序中調(diào)用其序號(hào),就可以繪制出相應(yīng)的圖片。 游戲開發(fā)基礎(chǔ)當(dāng)前的主流游戲分類方式,主要是從玩家角度來分類的[02],手機(jī)游戲也不例外,主要包括:216。 RPG(角色扮演)類,如Nokia的同名RPG(角色扮演)游戲《Nokia》,大宇的《仙劍奇?zhèn)b傳Mobile》。216。 FTG(格斗)類,如Siemens的《BattleMail》,日本的《街頭霸王》移動(dòng)電話版,Sony的摔跤游戲《斗魂列傳》,《拳皇(KOF)》。216。 電影改版類,如Intel和高通公司投資的Jamdat的《角斗士》;216。 SPG(運(yùn)動(dòng))類,如蘇格蘭公司DigitalBridges推出的幻想足球世界作品;216。 棋牌類,如跳棋、斗地主、接龍、五子棋和麻將等游戲;216。 動(dòng)作類,如月球反擊戰(zhàn)、空軍大戰(zhàn)、賽車坦克大戰(zhàn)和超級(jí)瑪麗等游戲;216。 益智類,如挖地雷、推箱子和數(shù)字吃豆等游戲;216。 冒險(xiǎn)類,如Nokia的《speed》;216。 模擬類,如大宇的《大富翁系列》;216。 戰(zhàn)略模擬,由于當(dāng)前手機(jī)的限制,此類游戲還沒有較好地實(shí)現(xiàn),但是PC機(jī)上的帝國(guó)世界,星際爭(zhēng)霸都是此類游戲的代表;216。 FPS游戲(第一人稱視角游戲),這個(gè)游戲最具代表性的是CS。所有成功游戲的主要要素就是游戲的構(gòu)思、可玩性、圖形的設(shè)計(jì)、聲音的設(shè)計(jì)和性能。在設(shè)計(jì)開發(fā)游戲時(shí)把握住這些要素,然后加入新的個(gè)性,也能夠開發(fā)出一款成功的游戲。開發(fā)游戲的時(shí)候所面臨的最大的挑戰(zhàn)就是:要給玩家制造挑戰(zhàn)[04]。在有些游戲中。只要使敵人不斷涌向玩家就可以形成挑戰(zhàn),而在其他一些游戲中,卻需要開發(fā)出的代碼使得游戲也像人類玩家一樣思考。讓游戲思考也就是我們要討論的人工智能(Artificial Intelligence,AI)策略。人工智能可以定義為一種在計(jì)算機(jī)中模擬人類思維過程的技術(shù)。AI是一非常廣泛的研究領(lǐng)域,而和游戲相關(guān)的AI只是整個(gè)AI知識(shí)的一個(gè)相對(duì)較小的子集。近年來的游戲AI策略研究集中在兩個(gè)領(lǐng)域:一個(gè)特別有意義的領(lǐng)域就是模糊邏輯,它嘗試做出“最佳猜測(cè)”決策而不是傳統(tǒng)AI的具體決策;另一個(gè)有趣的AI研究就是基因算法,它所嘗試建模的進(jìn)化論思想和科學(xué)家所認(rèn)為的基因自然進(jìn)化理論相似[04]。使用基因算法的游戲理論上都會(huì)有一個(gè)計(jì)算機(jī)對(duì)手在游戲過程中不斷的學(xué)習(xí),為人類玩家提供好似源源不斷的挑戰(zhàn)。 游戲AI的類型根據(jù)如何滿足特定游戲的應(yīng)用需求,和游戲相關(guān)的AI劃分為三種基本的類型:216。 漫游AI—確定一個(gè)游戲?qū)ο笕绾卧谝粋€(gè)虛擬的游戲世界中漫游;216。 行為AI—確定跟蹤或追逐在一個(gè)游戲?qū)ο蠖鄠€(gè)游戲?qū)ο蠛竺娴牧硪粋€(gè)游戲?qū)ο笫嵌嗝淳哂泄粜裕?16。 策略AI—在一個(gè)策略游戲中,從一組固定的實(shí)現(xiàn)定義的漫游規(guī)則中確定最佳的移動(dòng)方案。由于本游戲的設(shè)計(jì)只涉及到前兩種,所以這里我們就只討論前兩種AI。 漫游AI漫游AI指的是對(duì)游戲?qū)ο蠼5腁I,也就是,游戲?qū)ο笞龀鰶Q定,確定它們?nèi)绾卧谝粋€(gè)虛擬世界中漫游?;旧?,對(duì)于計(jì)算機(jī)控制的對(duì)象,不論是它必須做出決定改變當(dāng)前路徑,還是要在游戲中實(shí)現(xiàn)需要的結(jié)果,或者只是簡(jiǎn)單地遵守某種特定的移動(dòng)方式,都要用到漫游AI。實(shí)現(xiàn)漫游AI通常都比較簡(jiǎn)單,一般包括根據(jù)一個(gè)對(duì)象的位置或速度,改變另一個(gè)對(duì)象的速度或位置。對(duì)象的漫游移動(dòng)也可以由隨機(jī)的或預(yù)定以的方式的影響。有三種類型的漫游AI:追逐、躲避和模式。追逐是這樣一種漫游AI:一個(gè)游戲?qū)ο蟾櫥蚴亲分鹆硗庖粋€(gè)對(duì)象或多個(gè)游戲?qū)ο?。一般是根?jù)被追逐對(duì)象的速度或位置來追逐,來改變追逐對(duì)象的速度或位置,在其中必須能夠利用好隨機(jī)方法使追逐變得平緩。逃避和追逐在邏輯上是相對(duì)的,它是另一種方式的漫游AI,其中一個(gè)游戲?qū)ο髮iT試圖擺脫另一個(gè)對(duì)象,它們的實(shí)現(xiàn)方式是相似的。模式移動(dòng)指的是對(duì)游戲?qū)ο笫褂靡唤M預(yù)定義的移動(dòng)的一種漫游AI類型。模式包括圓圈、八字形、Z字形或者更加復(fù)雜的移動(dòng)。模式通常存儲(chǔ)為一個(gè)速度或位置偏移量的數(shù)組,當(dāng)模式移動(dòng)需要它的時(shí)候會(huì)將其應(yīng)用到一個(gè)對(duì)象上。 行為AI盡管漫游AI策略本身確實(shí)很有用,實(shí)際的游戲場(chǎng)景中常常需要混合使用這三種AI。行為AI是另外一種基本的游戲AI類型,它常常用一種混合的漫游AI算法來賦予游戲?qū)ο筇囟ǖ男袨?。使用行為AI的另一個(gè)合理的原因就是要改變游戲的難度。例如,可以借助追逐算法而不是隨機(jī)移動(dòng)或模式移動(dòng)來使得攻擊者在游戲中的較高級(jí)別中更具攻擊性。要實(shí)現(xiàn)行為AI,還需要建立一組攻擊者或游戲角色的行為。賦予游戲?qū)ο笮袨椴⒉皇呛茈y。通常需要為系統(tǒng)總的每一種行為建立一個(gè)級(jí)別,然后將它們應(yīng)用到每一個(gè)對(duì)象。例如在游戲具有攻擊性的角色一般具有一下的幾種行為:追逐、躲避、模式移動(dòng)和隨機(jī)移動(dòng)。行為AI的效果非常好,并且由于它實(shí)現(xiàn)簡(jiǎn)單,利用它往往收獲頗豐。典型的實(shí)現(xiàn)就是使用一個(gè)switch語句或者嵌套的if—else語句來選擇一個(gè)特定的行為。行為的創(chuàng)建和分配具有廣闊的創(chuàng)新性。創(chuàng)建游戲?qū)ο笮袨榈南敕ǖ淖詈玫膩碓词莿?dòng)物世界中常見的初級(jí)反應(yīng)。 術(shù)語及相關(guān)縮寫解釋216。 IDE:全稱Integrated Development Environment,集成開發(fā)環(huán)境;216。 WTK:全稱Wireless Toolkit,是Sun公司發(fā)布的J2ME應(yīng)用開發(fā)套件;216。 JAR:全稱Java Archive File,是Java的一種文檔格式。本文中用以代指J2ME程序經(jīng)編譯后的執(zhí)行文件,可以傳至手機(jī)中直接運(yùn)行;216。 NPC:全稱Non Player Character,即“非玩家控制角色;216。 FPS:全稱Frames Per Second,即每秒刷新幀數(shù);216。 AI:全稱Artificial Intelligence,即人工智能。 第三章 系統(tǒng)需求分析本章主要對(duì)系統(tǒng)的運(yùn)行平臺(tái)、界面、速度和游戲的各種規(guī)則進(jìn)行需求分析。 運(yùn)行平臺(tái)本游戲?qū)儆谝豢顔纹聊粍?dòng)作類游戲,、屏幕分辨率不小于320240 的手機(jī)設(shè)備,并要求在各型號(hào)手機(jī)上均有良好的兼容性。 界面要求參照PC機(jī)上的賽車游戲,要求精致、美觀,游戲角色形象可愛。所有界面均須使用低級(jí) UI 繪制。 速度要求要求在滿足平臺(tái)需求的各手機(jī)上運(yùn)行時(shí)畫面流暢,聲音播放正常,操作無明顯延遲感。 游戲具體需求 主要界面要求游戲具有“閃屏”(Splash)、“菜單”、“游戲主界面”、“幫助”和“關(guān)于游戲”等界面。 閃屏界面要求顯示游戲菜單前,必須先自動(dòng)、連續(xù)顯示兩個(gè)閃。第一個(gè)閃屏用于顯示南京工程學(xué)院徽標(biāo)、南京工程學(xué)院校名和畢業(yè)設(shè)計(jì)等信息;第二個(gè)閃屏用于顯示所設(shè)計(jì)的程序的圖標(biāo)和程序名稱及版本等。兩個(gè)閃屏的顯示由時(shí)間控制,自動(dòng)消失,也可以接受用戶的按鍵事件,用戶在任何一個(gè)閃屏按任意鍵,當(dāng)前閃屏自動(dòng)消失。閃屏圖案排列要考慮顯示全部圖案,且游戲菜單無論在大、小屏幕都要垂直、水平居中。 游戲菜單游戲者可通過菜單界面可選擇開始游戲、繼續(xù)游戲(但暫停后恢復(fù)時(shí)自動(dòng)添加)、游戲選項(xiàng)、游戲等級(jí)、幫助、關(guān)于和退出游戲。 游戲等級(jí)菜單游戲者可通過主菜單進(jìn)入游戲等級(jí)選擇界面查看游戲的各個(gè)等級(jí),該界面必須實(shí)現(xiàn)上下鍵滾動(dòng)屏幕或翻頁功能和按鈕事件的響應(yīng),以實(shí)現(xiàn)玩家選擇的相應(yīng)的等級(jí)。 幫助與關(guān)于游戲界面游戲者可通過主菜單進(jìn)入幫助或關(guān)于界面查看游戲規(guī)則與基本操作及關(guān)于信息,該界面必須實(shí)現(xiàn)中英文的換行顯示及上下鍵滾動(dòng)屏幕或翻頁功能。 選項(xiàng)游戲者可通過主菜單進(jìn)入選項(xiàng)界面關(guān)于音樂開關(guān)及手機(jī)震動(dòng)的啟動(dòng)與否,該界面必須實(shí)現(xiàn)中英文的換行顯示及上下鍵滾動(dòng)屏幕。 游戲角色216。 游戲有玩家與敵人(后文中均 NPC 指代)兩種游戲角色,玩家只能有一個(gè),由游戲者控制,敵人可能有多個(gè),由游戲人工智能控制。216。 角色出生時(shí)具有基本的移動(dòng)速度,這些屬性可在游戲中改變。216。 角色可以在賽道地圖允許的框架內(nèi)沿著賽道左右進(jìn)行移動(dòng)。216。 如果玩家移動(dòng)方向鍵,則該角色按該方向沿著賽道前進(jìn)。216。 所有角色唯一的死亡方式為沒能量或被對(duì)方撞死。 游戲規(guī)則216。 玩家賽車與游戲賽車在賽道上比賽,在行駛過程中會(huì)遇到各種各樣的行車,玩家要盡量避開NPC不與他們碰撞,因?yàn)槊看闻鲎捕紩?huì)減少生命值。216。 每個(gè)賽車都有相同的生命值和能量值(汽油)。216。 玩家在車速已經(jīng)到達(dá)120時(shí),可以啟動(dòng)火箭引擎,迅速達(dá)到該車所能達(dá)到的最大值,但是每一次啟動(dòng)都會(huì)消耗正常行駛時(shí)能量值的三倍。216。 在
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1