日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

j2me手机游戏结构分析和实际小例子系列一 游戏背景和游戏精灵

發(fā)布時間:2024/1/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 j2me手机游戏结构分析和实际小例子系列一 游戏背景和游戏精灵 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
j2me手機游戲結(jié)構(gòu)分析和實際小例子 一 ?????? 這段時間一直在忙java的事情,一直在學習用j2me做手機游戲。雖然說我是.net開發(fā)人員,但是java語言在很多地方上確實有用于c#的地方(我說的這個地方不是指使用語言的人多少),而是說java有很多架構(gòu),體系設(shè)計,軟件架構(gòu)方面的實例都遠遠多于c#,對于一個喜歡軟件工程的人來說(呵呵當然是在說我自己),即使是做c#開發(fā)的,java語言也要知道,因為很多軟件工程方面的問題還都是java語言的。哈哈,我能夠?qū)⒏嗟?/span>java使用理念和設(shè)計思想用到c#中去,也是對我.net開發(fā)有很大很大的幫助。這些幫助絕不是單單寫幾年代碼就能磨練出來了哦。 ?????? 在此之前我先說幾句話鋪墊一下。我之前開發(fā)的程序都是C/SClient/Server)和B/SBrowser/Server)這兩種架構(gòu)的程序,也就是大家熟知的客戶機和服務(wù)器結(jié)構(gòu)。這兩種模式的開發(fā)在軟件設(shè)計上也這很多的區(qū)別,甚至架構(gòu)上也有一定區(qū)別,誰讓狀態(tài)式設(shè)計和內(nèi)容式設(shè)計是有區(qū)別呢?我一直都是針對這兩種模式設(shè)計架構(gòu)和設(shè)計軟件架構(gòu),從來沒有涉及到內(nèi)嵌式語言的軟件設(shè)計,這次j2me手機游戲的開發(fā)讓我在軟件設(shè)計上有了新的認識。世界真大呀! ?????? 好了上面說了那么多廢話,現(xiàn)在進入這次的主題。我們先來看一個圖: <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ?????? 上面這個圖是我看了一個網(wǎng)頁之后總結(jié)出的,首先我們先將一個游戲分解成幾個部分,這個分解是一種縱向的組件分解說明,不是軟件結(jié)構(gòu)。 ?????? MIDlet是整個游戲的入口,一個游戲包括6個縱向組件:控制、角色、聲音、場景、道具和時間監(jiān)聽機制列個部分。現(xiàn)在我想到的是這六個,只所以用縱向組件來分解是為了方便擴展新組件。 ?????? 還有一個手機游戲的軟件體系結(jié)構(gòu)圖: ?????? ?????? 這個圖是來源于一個博客,在這里面我們能夠清楚的看到一個手機游戲軟件的完整結(jié)構(gòu)。分成相關(guān)業(yè)務(wù)和通用核心兩個部分,在相關(guān)業(yè)務(wù)里面包涵與本次開發(fā)相關(guān)的內(nèi)容,比如圖片資源、道具、擴展部分等等。核心部分是所有游戲通用的apis比如虛擬機、異常處理、io包、lang包、主線程管理等等。 ?????? 看過了上面兩個圖和其相關(guān)說明,我來說明一下我的設(shè)計結(jié)構(gòu),首先說明一下,我是一步一步進行,我現(xiàn)在的程序目的是實現(xiàn)一個背景填充,在將一個角色,放在背景圖片中去。如圖: ?????? 現(xiàn)在這個只是用到了游戲場景和游戲角色兩個組件。我的程序結(jié)構(gòu)設(shè)計如上圖。要想實現(xiàn)一個目標程序,首先DIMlet是必不可少的,此外我還需要一個gamecanvas對象,和游戲場景、游戲角色,共四個部分。在這次的實現(xiàn)中,僅僅需要這四個對象。gtMIDletMIDlet的子類,是整個系統(tǒng)的入口,放在program中,調(diào)用MyCanvas對象(是GameCanvas的子類),又來運行游戲,myCanvas是游戲的核心對象,放在CoreClasses包中。MyLayer是填充背景對象 (LayerManager的子類),專門用來繪制背景圖片。PlayerSpriteSprite的子類,最后一個是游戲角色的對象,也放在CoreClasses包中,他調(diào)用ImagesManage中的對象獲得圖片。好,現(xiàn)在我們這次說的四個主要對象都已經(jīng)依依顯示出來了,現(xiàn)在我們來看一下基本類圖系,如圖: 當然,為了省事情還可以提煉一些通用的對象,比如說填充地圖可以靈活一點,這當然是根據(jù)大家的需要自己可以封裝。 ?????? 整個設(shè)計就到此是一個段落了。這是第一個實踐過程,,很簡單一個背景和一個角色而已,并且不能動,對于這個系列我還會繼續(xù)向下進行。在文章的附件中我會把圖加上,看不清楚的朋友可以下載看看。

轉(zhuǎn)載于:https://blog.51cto.com/realzjy/178050

總結(jié)

以上是生活随笔為你收集整理的j2me手机游戏结构分析和实际小例子系列一 游戏背景和游戏精灵的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。