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

正文內(nèi)容

基于j2me平臺(tái)的手機(jī)游戲程序開(kāi)發(fā)(手機(jī)游戲)及論文(編輯修改稿)

2025-01-09 01:34 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 Java 應(yīng)用程序描述符( jad)文件。 MIDlet 文件的構(gòu)成: (1) JAR( Java ARchive)文件:集成了 Class File 與圖像、聲音等內(nèi)容的數(shù)據(jù)文件,雖然與 J2SE 的文件相同,但是列表的文件內(nèi)容不同; (2) JAD( Java Application Descriptor)文件:指定啟動(dòng)的 MIDlet 類(lèi)名稱(chēng)或是數(shù)據(jù)文件大小、版本等信息; (3) KDDI 的地方,使用組合了 JAR 文件與 JAD 文件的 KDDI 專(zhuān)用的 KJK( KDDIJavaeXtension)。 生命周期是指程序從開(kāi)始執(zhí)行到退出的生命過(guò)程。 MIDlet 是以下列的生命周期來(lái)運(yùn)行的: (1) 系統(tǒng)調(diào)用繼承自 MIDlet 類(lèi)的默認(rèn)構(gòu)造方法,創(chuàng)建對(duì)象; (2) 系統(tǒng)進(jìn)入 MIDlet 生命周期的暫停狀態(tài),這個(gè)是 MIDlet 生命周期的第一個(gè)狀態(tài); (3) 系統(tǒng)調(diào)用 startAPP()方法,然后進(jìn)入 MIDlet 的運(yùn)行狀態(tài),程序正常執(zhí)行; (4) 如果在暫停轉(zhuǎn)臺(tái)或者運(yùn)行狀態(tài)下發(fā)生錯(cuò)誤,則程序會(huì)調(diào)用 destoryAPP( )方法,然后進(jìn)入銷(xiāo)毀狀態(tài)。整個(gè)過(guò)程如圖 21 所示 : 圖 221 生命周期圖 移動(dòng)設(shè)備上游戲的限制 在開(kāi)發(fā) J2ME 移動(dòng)游戲過(guò)程中,開(kāi)發(fā)人員面對(duì)的最大的困難和障礙是,本來(lái) 在PC 機(jī)和控制臺(tái)上習(xí)以為常的應(yīng)用在移動(dòng)設(shè)備上卻遇到各種限制,包括內(nèi)存的、 屏幕尺寸的、甚至色彩的限制。 由于游戲中的用戶(hù)輸入、圖形圖像、動(dòng)畫(huà)、聲音和振動(dòng)的高交互性,這種限 制XXXXXXXXXXX 畢業(yè) 論文 6 在移動(dòng)游戲中表現(xiàn)得比移動(dòng)應(yīng)用程序 更加明顯。此外,不僅要注意不同制造商 之間產(chǎn)品的不同,也要了解同一個(gè)制造商的不同移動(dòng)設(shè)備模型的差別。不同手機(jī) 的模式在內(nèi)存、色彩、屏幕尺寸和用戶(hù)界面等各個(gè)方面都有很多不同。 內(nèi)存 一般情況下,內(nèi)存被認(rèn)為是內(nèi)存區(qū)域中的堆棧,在游戲執(zhí)行的時(shí)候儲(chǔ)存信息, 在游戲終止后被釋放。顯而易見(jiàn),手機(jī)上可以使用的內(nèi)存總量要比 PC 機(jī)上少的 多,因此在開(kāi)發(fā)游戲的時(shí)候,要先查看所針對(duì)機(jī)型的內(nèi)存容量,注意自己程序內(nèi) 存使用情況,已防止需要的內(nèi)存空間超過(guò)可以分配的大小。 另外的存儲(chǔ)空間包括 RMS(Record Management System)。它可以用來(lái)存儲(chǔ)玩 家的最高分?jǐn)?shù)或者上次保存的設(shè)置??晒┦褂玫?RMS 大小也是要注意的。 PC 機(jī)上的硬盤(pán)和內(nèi)存在使用一段時(shí)間后就會(huì)出現(xiàn)碎片,在手機(jī)的存儲(chǔ)空間 上也會(huì)出現(xiàn)這種情況。例如需要寫(xiě)一個(gè)大的對(duì)象到內(nèi)存中,但是卻找不到足夠的 一整塊連續(xù)的空間,于是系統(tǒng)就將它分成幾塊分別存儲(chǔ)在內(nèi)存的各個(gè)空閑空間 中。這不但會(huì)導(dǎo)致存儲(chǔ)空間訪(fǎng)問(wèn)時(shí)間的增加,當(dāng)內(nèi)存中大的對(duì)象被清除后會(huì)留下 很多內(nèi)存空洞,從而導(dǎo)致新的對(duì)象被存儲(chǔ)時(shí)也會(huì)遍布內(nèi)存各處。 手機(jī)的界面 最近幾年,各個(gè)手機(jī)制造商開(kāi)始放棄傳統(tǒng)的手機(jī)界面,進(jìn)而 追求更為個(gè)性化 的按鍵和控制,這歸結(jié)于制造商對(duì)更加友好的用戶(hù)界面的孜孜不倦的追求。雖然 一些制造商已經(jīng)意識(shí)到?jīng)]有絕對(duì)最好的用戶(hù)界面,只有對(duì)某些有特殊需求的特定 的群體比較好的用戶(hù)界面,這主要取決于用戶(hù)除了使用手機(jī)打電話(huà)外還做什么, 比如聽(tīng)音樂(lè)、玩游戲、或這記錄商業(yè)事件。當(dāng)然,新界面的設(shè)計(jì)也擴(kuò)展了手機(jī)市 場(chǎng)的邊界和吸引力。這意味著又增加了開(kāi)發(fā)者需要考慮的一個(gè)因素,比如,把數(shù) 字鍵 “ 5” 設(shè)定為攻擊,但是也許在某些手機(jī)上這個(gè)鍵不是很方便就可以按到的。 缺少庫(kù)文件支持 由于 J2ME 是 J2SE 的子集,所以它并沒(méi)有 包含所有的包和類(lèi)。也就是說(shuō)要 么不使用這些類(lèi),要么自己擴(kuò)展所需要的類(lèi)。例如, J2ME 中不支持浮點(diǎn)數(shù) (float), 故不能進(jìn)行小數(shù)運(yùn)算,也不能使用 sin、 cos 和 tan 運(yùn)算,但是在游戲開(kāi)發(fā)中,小 數(shù)是經(jīng)常要用到的。然而,可以用定點(diǎn)數(shù)學(xué)運(yùn)算的方式來(lái)代替小數(shù)運(yùn)算。比方說(shuō), 如果想精確到小數(shù)點(diǎn)后三位,可以用 1000 來(lái)表示 。在變換的過(guò)程中要不斷 的乘以或XXXXXXXXXXX 畢業(yè) 論文 7 者除以 10,以得到正確的結(jié)果。至于角度可以用 0、 60、 90、 1 150、 180、2 2 270、 300、 3 360 這種對(duì)應(yīng)角度值的整 數(shù)值來(lái)代替, 事實(shí)上由于移動(dòng)設(shè)備的屏幕往往都很小,所以太精確的計(jì)算也是沒(méi)有意義的。 XXXXXXXXXXX 畢業(yè) 論文 8 3. 開(kāi)發(fā)環(huán)境及相關(guān)技術(shù) 游戲開(kāi)發(fā)環(huán)境 操作系統(tǒng): Microsoft Windows XP 程序語(yǔ)言: Java 2 開(kāi) 發(fā) 包: Java(TM) 2 Standard Edition () Sun Micro. J2ME Wireless Tool Kit 關(guān)于 Wireless Tool Kit WTK(Wireless Tool Kit)是 Sun 公司針對(duì) J2ME 推出的用于手機(jī)和 Palm 等移動(dòng)設(shè)備的開(kāi)發(fā)包,是除手機(jī)廠(chǎng)商的專(zhuān)用開(kāi)發(fā)包外唯一的手機(jī)模擬器開(kāi)發(fā)包。它通用性高,開(kāi)發(fā)出的應(yīng)用程序可保證能運(yùn)行在大部分設(shè)備上,而不像專(zhuān)用廠(chǎng)商具有一定的不兼容性。雖然它沒(méi)有強(qiáng)大的功能和完善的調(diào)試手段,但它提供運(yùn)行模擬器的最基本組件,是其他 IDE 需集成采用的必備元素。目前我們可以獲取的有四個(gè)版本,分別是 , , 和 。每個(gè)版本都包括英語(yǔ),日語(yǔ),簡(jiǎn)體中文,繁體中文 4 個(gè)語(yǔ)種包。 (1) 版只能夠開(kāi)發(fā) 應(yīng)用程序; (2) 版只能夠開(kāi)發(fā) 應(yīng)用程序; (3) 版則可以同時(shí)開(kāi)發(fā) 、 JTWI(CLDC , , )可改用 或加入 ,自定義 (自己隨機(jī)組合 Configuration, Profile 以及 Optional Package)三種環(huán)境下的應(yīng)用程序; (4) 版中, WTK 全面的支持 JTWI 規(guī)范。具體的說(shuō),即 MIDP , CLDC , WMA , MMAPI , Web Services (JSR 172), File and PIM APIs (JSR 75), Bluetooth and OBEX APIs (JSR 82), and 3D Graphics (JSR 184);同時(shí)您也可以使用該版本開(kāi)發(fā)面向 和 的應(yīng)用程序。 系統(tǒng)要求上, 至少需要 50MB 可用硬盤(pán), 128MB 系統(tǒng) RAM 和 800MHZ Pentium III CPU。 XXXXXXXXXXX 畢業(yè) 論文 9 4. 《勇闖伏魔洞》 RPG 游戲設(shè)計(jì) 游戲簡(jiǎn)介 這是一款 益智游戲與 RPG 角色扮演類(lèi)的結(jié)合,主要還是以 RPG 類(lèi)型為主,利用益智游戲的休閑可玩性和 RPG 角色扮演的故事擴(kuò)展性相結(jié)合,把益智游戲的玩點(diǎn)和RPG 的耐玩結(jié)合到一起,給玩家一個(gè)全新的感受。 游戲的主要情節(jié)是游戲中的主角不經(jīng)意間通過(guò)一款網(wǎng)絡(luò)游戲穿越來(lái)到了西元一九五年的西涼召德村中,無(wú)意間卷入了一場(chǎng)鬼魅的陰謀之中,從此背負(fù)了一個(gè)巨大的使命 —— 拯救所有被鬼魅抓走的人。 游戲通過(guò)做指定的幾個(gè)任務(wù),完成任務(wù)通過(guò)游戲。游戲采用 “ 踩地雷 ” 遇敵方式,同時(shí)進(jìn)入戰(zhàn)斗場(chǎng)面,進(jìn)行游戲。游戲中玩家需要和各個(gè) NPC 對(duì)話(huà)找到相應(yīng)的任務(wù)線(xiàn)索完 成任務(wù),其中共有十一個(gè) NPC,主角根據(jù) NPC 的對(duì)話(huà)找出線(xiàn)索完成任務(wù),其中與三個(gè) NPC 對(duì)話(huà)會(huì)進(jìn)入相應(yīng)的任務(wù)場(chǎng)景,需要玩家自己和 NPC 對(duì)話(huà)找到。這樣設(shè)計(jì)是為了增加游戲的可玩性和故事性。 為了增加游戲的難度我們特意設(shè)計(jì)了人工智能這個(gè)功能,在游戲戰(zhàn)斗的界面中加入了 npc 的行為判定,主動(dòng)攻擊型,玩家進(jìn)入任務(wù)場(chǎng)景時(shí)敵人進(jìn)行追擊和攻擊。判斷檢測(cè)范圍,當(dāng)主角與敵人的距離小于 64 像素是敵人對(duì)主角進(jìn)行追擊,當(dāng)主角與敵人的距離小于 16 像素是敵人對(duì)主角進(jìn)行攻擊。這樣也增加了不同關(guān)卡游戲的難度性和可玩性。 游戲的流程和類(lèi)結(jié) 構(gòu) 游戲的基本運(yùn)行流程 本游戲的基本運(yùn)行流程是在 MIDlet 啟動(dòng)后把整個(gè)畫(huà)布作為一個(gè)線(xiàn)程,隨時(shí)準(zhǔn)備響應(yīng)用戶(hù)按鍵操作的 KeyPressed()方法。 在主角進(jìn)入到主場(chǎng)景時(shí)開(kāi)啟與主場(chǎng)景 NPC 的對(duì)話(huà)方式,執(zhí)行主角行走移動(dòng)方法。通過(guò)與 NPC 對(duì)話(huà)方式進(jìn)入任務(wù)場(chǎng)景 1,當(dāng)主角擊敗人物場(chǎng)景 1 所有怪物時(shí),開(kāi)啟任務(wù)場(chǎng)景 1NPC 對(duì)話(huà)方式進(jìn)入任務(wù)場(chǎng)景 2,失敗則游戲結(jié)束。當(dāng)主角進(jìn)入任務(wù)場(chǎng)景 2 時(shí),擊敗所有敵人則通過(guò)任務(wù)場(chǎng)景 2 的 NPC 對(duì)話(huà)系統(tǒng)回到主場(chǎng)景。主角回到主場(chǎng)景后可加血后通過(guò) NPC 進(jìn)入任務(wù)場(chǎng)景 景 3 時(shí),擊敗所有怪物則游戲勝利,反之游戲結(jié)束。 游戲的類(lèi)結(jié)構(gòu) XXXXXXXXXXX 畢業(yè) 論文 10 MyMIDlet:游戲的主入口,開(kāi)始游戲 Game_Canvas:游戲類(lèi),用于游戲運(yùn)行的類(lèi),實(shí)現(xiàn)游戲中的顯示 Player:主角類(lèi) Enemy:敵人類(lèi) MyMap:地圖類(lèi) Dialog:對(duì)話(huà)類(lèi) Music:音樂(lè)類(lèi),實(shí)現(xiàn)游戲所有音樂(lè),包括初始化和播放。 圖像和動(dòng)畫(huà)渲染 相對(duì)于 來(lái)說(shuō),最大的變化就是新添加了用于支持游戲的 API, 它們被放在 包中。游戲 API 包提供了 一系列針對(duì)無(wú) 線(xiàn)設(shè)備的游戲開(kāi)發(fā)類(lèi)。由于無(wú)線(xiàn)設(shè)備僅有有限的計(jì)算能力,因此許多 API 的目 的在于提高Java 游戲的性能,并且把原來(lái)很多需要手動(dòng)編寫(xiě)的代碼如屏幕雙緩 沖、圖像剪裁等都交給 API 間接調(diào)用本地代碼來(lái)實(shí)現(xiàn)。各廠(chǎng)家有相當(dāng)大的自由 來(lái)優(yōu)化它們。 游戲 API 使用了 MIDP 的低級(jí)圖形類(lèi)接口( Graphics, Image,等等 )。整個(gè) game包僅有 5 個(gè) Class。 GameCanvas 這個(gè)類(lèi)是 LCDUI 的 Canvas 類(lèi)的子類(lèi),為游戲提供了基本的 “ 屏幕 ” 功能。除了從 Canvas 繼承 下來(lái)的方法外,這個(gè)類(lèi)還提供了游戲?qū)S玫墓δ?,如查?xún)當(dāng)前游戲鍵狀態(tài)的能力,同步圖像輸出;這些功能簡(jiǎn)化了游戲開(kāi)發(fā)并提高了性能。 GameCanvasMyMIDlet MyCanvas Game_Canvas Eenmy Player Music Dialog MyMap XXXXXXXXXXX 畢業(yè) 論文 11 類(lèi)提供了基本的游戲用戶(hù)接口。除了從 Canvas 繼承下來(lái)的特性 (命令,輸入事件等)以外,它還提供了專(zhuān)門(mén)針對(duì)游戲的功能,比如后備屏幕緩沖和鍵盤(pán)狀態(tài)查詢(xún)的能力。每個(gè) GameCanvas 實(shí)例都會(huì)有一個(gè)為之創(chuàng)建的專(zhuān)用的緩沖區(qū)。因?yàn)槊總€(gè) GameCanvas實(shí)例都會(huì)有一個(gè)唯一的緩沖區(qū)??梢詮? GameCanvas 實(shí)例獲得其對(duì)應(yīng)的 Graphics 對(duì)象,而且,只有對(duì) Graphics 對(duì)象 操作, 才會(huì)修改緩沖區(qū)的內(nèi)容。外部資源如其他的MIDlet 或者系統(tǒng)級(jí)的通知都不會(huì)導(dǎo) 致緩沖區(qū)內(nèi)容被修改。 Layer Layer 類(lèi)代表游戲中的一個(gè)可視化元素,例如 Sprite 或 TiledLayer 是它的子類(lèi);這個(gè)抽象類(lèi)搭好了層 (Layer)的基本框架并提供了一些基本的屬性,如位置,大小,可視與否。出于優(yōu)化的考慮,不允許直接產(chǎn)生 Layer 的子類(lèi)(不能包外繼承)。 LayerManager 對(duì)于有著許多 Layer 的游戲而言, LayerManager 通過(guò)實(shí)現(xiàn)分層次的自動(dòng)渲染, 從而簡(jiǎn)化了游戲開(kāi)發(fā)。它允許開(kāi) 發(fā)者設(shè)置一個(gè)可視窗口 (View Window),表示用戶(hù)在游戲中可見(jiàn)的窗口; LayerManager 自動(dòng)渲染游戲中的 Layer,從而實(shí)現(xiàn)期望的視圖效果。 LayerManager 管理一系列的 Layer。 LayerManager 簡(jiǎn)化了這染每個(gè) Layer 的 過(guò)程,每個(gè)添加的 Layer 都將在正確的區(qū)域并以正確的順序被渲染。 LayerManager 維護(hù)一個(gè)順
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1