【正文】
型設(shè)備,CLDC 不可能覆蓋全部的這些設(shè)備。1. 包 包,是包含了Java 語(yǔ)言API 的核心部分繼承下來(lái)的類(lèi),但是CLDC 只繼承了J2SE 中一半的類(lèi),而且一些類(lèi)中的接口并沒(méi)有完全實(shí)現(xiàn)。其中的10 個(gè)類(lèi)是從J2SE 中繼承來(lái)的;Timer 和TimerTask 類(lèi)是MIDP 增加的類(lèi)。Connector 類(lèi)中定義了靜態(tài)方法生成特定類(lèi)型的Connection,利用這個(gè)Connection 可以訪問(wèn)網(wǎng)絡(luò)和各種其他設(shè)備。在開(kāi)發(fā)Java游戲程序時(shí),通常要考慮使用多線程來(lái)實(shí)現(xiàn):負(fù)責(zé)改變圖形和刷新顯示屏幕、處理用戶(hù)的輸入,處理游戲中各種角色動(dòng)作的參數(shù)變化。圖5 程序中線程說(shuō)明我們之所以要使用線程,其中一個(gè)原因是使游戲程序具備更強(qiáng)的響應(yīng)特性。如果那樣做的話,事件處理線程就不能及時(shí)地執(zhí)行用戶(hù)輸入事件,游戲看上去就很卡,會(huì)影響游戲的趣味性。 游戲框架游戲程序的框架實(shí)質(zhì)上就是指游戲引擎,游戲引擎不是什么高深的東西,無(wú)論是2D還是3D游戲,無(wú)論游戲的大小,都要有游戲引擎起控制作用。 ),它主要負(fù)責(zé)顯示屏幕的刷新和處理用戶(hù)的輸入,這個(gè)類(lèi)繼承了Canvas類(lèi),所以具有畫(huà)圖、處理用戶(hù)輸入和刷新屏幕的功能。然后,Nurturance根據(jù)玩家的選擇來(lái)運(yùn)行GameShop、GameSleep、GameRPG中的一個(gè)類(lèi),執(zhí)行完以后,上述中被執(zhí)行的那個(gè)類(lèi)也返回一個(gè)狀態(tài)值到Nurturance。GameDate是實(shí)體類(lèi)( 實(shí)體類(lèi)也是UML中的概念,它用于存儲(chǔ)信息的類(lèi),主要是指持久化的數(shù)據(jù)。run()部分主要是設(shè)置游戲處理的狀態(tài)和加載圖形等資源,paint *()部分主要是根據(jù)run()中設(shè)置的狀態(tài)在圖形屏幕的緩沖區(qū)中畫(huà)圖,deal*()根據(jù)用戶(hù)的輸入來(lái)改變一些游戲的狀態(tài)。否則,游戲中的人物會(huì)繼續(xù)生活在小南河村。如果所選的活動(dòng)是去藥店,執(zhí)行分支流G1:買(mǎi)賣(mài)藥品。買(mǎi)賣(mài)結(jié)束后,游戲會(huì)退出買(mǎi)賣(mài)界面,用例小南村生活重新開(kāi)始;如果玩家選“離開(kāi)”,用例重新開(kāi)始。玩家如果選“再等等”,用例重新開(kāi)始。E2:如果游戲中人物的HP被山賊打到零,人物就死亡了,意味游戲結(jié)束,游戲會(huì)退到游戲主菜單。 擴(kuò)展點(diǎn)無(wú) 事件流無(wú)當(dāng)離開(kāi)小南河村后,出現(xiàn)上海的環(huán)境的介紹,并且提示玩家按鍵繼續(xù)顯示游戲背景的介紹。如果所選的活動(dòng)是去藥店,執(zhí)行分支流S2:買(mǎi)賣(mài)藥品。 分支流S1:買(mǎi)武器游戲會(huì)彈出一個(gè)提示框,提示玩家武器店還沒(méi)開(kāi),然后用例上海生活重新開(kāi)始。玩家如果選“再等等”,用例上海生活重新開(kāi)始。如果選“攻擊”,游戲中人物會(huì)攻擊東洋浪人,攻擊一次后,東洋浪人也會(huì)攻擊游戲中人物一次(F1),然后回到四個(gè)選項(xiàng)界面;如果選“防御”,游戲中人物會(huì)在防御姿態(tài)下抵擋一次東洋浪人攻擊,然后回到四個(gè)選項(xiàng)界面;如果選“道具”,游戲中人物會(huì)使用藥品來(lái)增加自己的HP值,然后回到四個(gè)選項(xiàng)界面;如果選“撤退”,游戲中人物會(huì)逃離開(kāi)日本武館。路上有土匪,如果碰到山賊就進(jìn)入戰(zhàn)斗模式。F1:如果游戲中人物的HP被東洋浪人打到零,人物就死亡了,意味游戲結(jié)束,游戲會(huì)退到游戲主菜單。所以在設(shè)計(jì)J2ME手機(jī)游戲程序時(shí),必須謹(jǐn)慎考慮程序運(yùn)行時(shí)所占用的空間資源。如果程序想馬上進(jìn)行內(nèi)存垃圾收集工作。游戲中會(huì)用到大量的圖片,而加載圖片會(huì)占用較大的內(nèi)存空間和時(shí)間,這樣就可能會(huì)使手機(jī)運(yùn)行速度變慢。由于這發(fā)生在瞬間,所以會(huì)出現(xiàn)閃爍。后緩存區(qū)只是普通的圖象環(huán)境。第二步、將加載后的圖片畫(huà)在后緩沖區(qū)繪畫(huà)環(huán)境gbuf中: //加載圖片 Image imgStartMenu = (/res/)。如果系統(tǒng)不支持透明圖形,就會(huì)導(dǎo)致很難繪制精靈(精靈也就是游戲程序中可以四處移動(dòng)的游戲主角)。 設(shè)計(jì)重復(fù)按鍵功能簡(jiǎn)化用戶(hù)輸入:使用J2ME的移動(dòng)電話時(shí),并不是所有的電話都具有重復(fù)按鍵的功能,例如在本游戲中,如果在游戲玩家需要使用RIGHT鍵移動(dòng)游戲中的人物向前行走時(shí),并且程序不支持重復(fù)按鍵,則玩家要反復(fù)按很多次RIGHT鍵才能使游戲中人物不斷地向前走動(dòng)。(2) 當(dāng)鍵被按下時(shí),在這任務(wù)中執(zhí)行按鍵的功能。在不斷循環(huán)的用戶(hù)線程中,調(diào)用currentKeyState()方法,該方法檢查當(dāng)前系統(tǒng)是否是該按鍵鍵值,是則返回ture,之后執(zhí)行該條件表達(dá)式下的語(yǔ)句段,即人物行走的參數(shù)的處理代碼;如果當(dāng)前系統(tǒng)不是該按鍵鍵值,則返回false,跳過(guò)人物行走的參數(shù)的處理代碼段,繼續(xù)執(zhí)行下面的其他代碼。MIDP中的說(shuō)明是應(yīng)該調(diào)用“pauseApp/startApp”。處理游戲暫停的代碼放在“hideNotify/showNotify”中。 實(shí)例測(cè)試及性能分析游戲代碼中需要的圖形和聲音等資源都放在sre目錄下的res文件夾中,java文件放在sre目錄下的rpghb文件夾中。第六章 總結(jié)與展望手機(jī)游戲程序與普通PC機(jī)上的游戲程序基本的設(shè)計(jì)思想和基本的編程技術(shù)都是相同的,只是由于手機(jī)中系統(tǒng)資源稀缺,設(shè)計(jì)時(shí)必須要仔細(xì)考慮系統(tǒng)資源的承受能力,一個(gè)重要的原則就是要求游戲的運(yùn)行盡量縮減對(duì)系統(tǒng)資源的使用。隨著技術(shù)的發(fā)展,相信這些問(wèn)題在不久的將來(lái)能很快就能解決。ll want to decide on an overall look and feel for your game. For example, do you want a dark, gritty look, or a smooth, flatshaded look? Realistic or surreal? Or, you could get more creative and do a sketchy look or something that looks like a 1950s blackandwhite detective film.A lot of this depends on the target audience. An adult might enjoy a darker game with dramatic lighting and shadows, but a younger kid might prefer a bright, colorful game.Looking for InspirationSometimes inspiration for your game39。s Starry Night or one of Magritte39。s a fine line between finding inspiration and ripping off something. It39。s generally a good idea to make sure your game art, interface art, and sounds mesh together well. For example, try to keep textures for a 3D game at similar brightness levels (because lighting is done ingame).Also, the user interface should have some sort of consistency with the overall look of the game. For example, a cartoonlike game might have colorful buttons that are big and shiny, while a firstperson shooter might have dark buttons with eerie shadows.Getting RoyaltyFree Game MediaYou can find CDs full of royaltyfree art and sounds either at a store or over the Internet. Royaltyfree basically means you don39。 加強(qiáng)了對(duì)目標(biāo)受眾取決于很多。科幻電影一般拉了一些偉大的特技,效果是令人鼓舞的,但也認(rèn)為對(duì)其他類(lèi)型,如西部片,神秘,甚至體育。和薩爾瓦多達(dá)利的融化的時(shí)鐘總是一個(gè)受歡迎的超現(xiàn)實(shí)的最?lèi)?ài)。也同樣,你不會(huì)想要一個(gè)武器對(duì)著惡魔戰(zhàn)士,使俗氣“博英”的聲音時(shí),跳躍。例如,卡通類(lèi)的游戲可能是大,光澤多彩按鈕,而第一人稱(chēng)射擊游戲可能與陰森黑暗的陰影按鈕。但是,您還可以找到更多的對(duì)圖形設(shè)計(jì)師,專(zhuān)門(mén)收藏,如紋理或者照片許多藏品。在這個(gè)例子中的照片,上部可用于滾動(dòng)背景(大矩形),和其他地方的照片可以為(小廣場(chǎng))有趣的紋理使用。”這些圖標(biāo)來(lái)自一個(gè)畫(huà)圖程序(油漆店專(zhuān)業(yè)版),并給他們修改陰影