999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MIDP2.0的坦克大戰(zhàn)手機游戲的設(shè)計

2010-01-01 00:00:00王卉玲勞漢生
經(jīng)濟師 2010年6期

摘 要:隨著無線網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,手機及其他無線設(shè)備的普及將成為一種趨勢。由于的手機的攜帶方便,手機游戲又具有娛樂的功能,和J2ME技術(shù)的跨平臺特性,使得越來越多的國內(nèi)外廠商開始開發(fā)基于J2ME平臺的無線應(yīng)用服務(wù)。文章著眼于J2ME技術(shù)在手機游戲開發(fā)上的應(yīng)用,在結(jié)合實際的開發(fā)經(jīng)驗與一些MIDP2.0新技術(shù)的基礎(chǔ)上,講述一款自主研發(fā)的基于MIDP2.0的坦克大戰(zhàn)手機游戲設(shè)計。

關(guān)鍵詞:J2ME 手機游戲 MIDP2.0 無線設(shè)備

中圖分類號:F062.5文獻標識碼:A

文章編號:1004-4914(2010)06-052-03

一、引言

隨著人們生活水平的不斷提高,手機用戶的數(shù)量也在不斷上升,而且手機的功能越來越豐富,也促進了手機游戲產(chǎn)業(yè)的不斷發(fā)展。在市場上,手機游戲的內(nèi)容大多相近,但其中也不泛有經(jīng)典之作,它們的盈利方式主要是涉及面廣,盡管手機游戲的費用不高,但是巨大的使用量將使得這個市場商機很大。種種的數(shù)據(jù)調(diào)查顯示前中國手機游戲市場一片繁榮,然而手機游戲大多來自國外,這對國內(nèi)的手機游戲開發(fā)并非長遠之計。

隨著無線應(yīng)用與嵌入式系統(tǒng)的愈來愈受到人們的重視,SUN公司推出了J2ME(Java 2 Platform, Micro Edition)來迎合這一趨勢,它把Java平臺的以網(wǎng)絡(luò)為中心和平臺不可知論的特性移植到有限存儲器和有限處理器的設(shè)備中,這些設(shè)備具有16位或32位處理器和總量不少于大約128K的存儲器;而MIDP2.0的新特性對手機游戲的開發(fā)提供了許多新的支持技術(shù),使得J2ME手機游戲開發(fā)的難度大大下降,簡化了設(shè)計的流程,也很大程度的促進了J2ME應(yīng)用于手機游戲的發(fā)展。

由于Java語言相當?shù)钠占埃瑢τ谟蠮ava語言基礎(chǔ)的人來說,J2ME技術(shù)的門檻較低,開發(fā)速度較快。J2ME技術(shù)擁有強大的移植性,可以經(jīng)過簡單的修改后,在不同廠商的手機上運行,現(xiàn)在在市場上的主要廠商有諾基亞、摩托羅拉、索愛等,它們之間在市場上進行著激烈的競爭,進而也促進了J2ME技術(shù)的快速發(fā)展。本文的寫作目的就是通過使用J2ME游戲開發(fā)技術(shù)來開發(fā)一個基于Nokia S60的手機游戲,從而展現(xiàn)J2ME技術(shù)在手機游戲開發(fā)方面的優(yōu)勢。

二、J2ME體系結(jié)構(gòu)和MIDP2.0新技術(shù)

(一)J2ME體系結(jié)構(gòu)

Java自1995年發(fā)明以來以發(fā)生了很大的變化,從最早的為基于瀏覽器中運行的Applet的編程,到Servlet/EJB的Server編程,再到現(xiàn)在的MIDlet為無線信息設(shè)備的編程。它已發(fā)展成為為開發(fā)者提供一端到端編程開發(fā)的平臺,即我們常說的J2SE/J2EE/J2ME,Java的三個平臺(fig1)。由于無線編程有其完全不同于傳統(tǒng)編程的特殊性,比如:運行設(shè)備的多樣性,設(shè)備處理能力不如服務(wù)器和微機,用戶界面的差異性等。另外在加上無線技術(shù)的飛速發(fā)展,使得J2ME的體系架構(gòu)有者完全不同于J2SE/J2EE的特點。

由于嵌入式設(shè)備的種類太多樣,沒有統(tǒng)一的規(guī)范,于是J2ME定義了一種靈活的層次規(guī)范結(jié)構(gòu)來規(guī)范眾多的移動設(shè)備,不同層次的規(guī)范相互協(xié)作來提供一個完整的移動Java平臺。J2ME依照各種設(shè)備的資源特性,將J2ME技術(shù)架構(gòu)分為簡表(Profile),配置(Configuration)和Java虛擬機(Java Virtual Machine)三層,如圖1所示:

1.簡表層:簡表層定義了在特定的設(shè)備上可用的應(yīng)用程序編程接口(API)的最小集。它在一個特定的配置上面實現(xiàn),應(yīng)用程序是針對特定的簡表編寫的,因此可以移植到支持該簡表的任何設(shè)備上。SUN公司推出兩種可用的參考J2ME簡表:基礎(chǔ)簡表與MIDP。基礎(chǔ)簡表主要用于CDC配置。MIDP連同功能較低的CLDC配置一起為開發(fā)移動設(shè)備應(yīng)用程序提供了完整的Java平臺。

2.配置層:面對的是大量各種不同的小型嵌入式設(shè)備,J2ME將這些設(shè)備進行分類,將一些共性提取出來形成適合于某范疇中設(shè)備可用的規(guī)范,稱為“配置”。配置規(guī)范定義了硬件所必須具備的能力。目前J2ME可用的配置有兩種:CDC(Connected Device Configuration,連接設(shè)備配置)和CLDC(Connected Limited Device Configuration,連接有限設(shè)備配置)。CDC應(yīng)用于相對內(nèi)存量較大,更強處理器的移動設(shè)備。CLDC主要針對些資源有限的嵌入式設(shè)備。

3.Java虛擬機層:這一層是針對設(shè)備本地操作系統(tǒng)定制的Java虛擬機的實現(xiàn),支持特定的J2ME配置,就像使用所有Java技術(shù)一樣,其核心也在一種虛擬機中。

(二)MIDP2.0新技術(shù)

在MIDP1.0中這些功能包括:應(yīng)用的下載、應(yīng)用的生命周期、端到端的傳輸(http)、網(wǎng)絡(luò)聯(lián)結(jié)、數(shù)據(jù)庫存儲、計時器和用戶界面;通過用戶對MIDPv1.0的使用經(jīng)驗和反饋,MIDP2.0的專家組在MIDP1.0APIs的基礎(chǔ)上又新加了下面的APIs:

1.應(yīng)用的下載和計費。

2.端到端的安全傳輸(https)。

3.應(yīng)用的數(shù)字簽名和域的安全模式。

4.MIDlet的push注冊(server push model)。

5.聲音。

(三)MIDP2.0的安全機制

Java語言作為以種網(wǎng)絡(luò)編程語言,它具有很多特點來滿足網(wǎng)絡(luò)編程的需求,其中最為人們所津津樂道的是它的遍寫一次到處運行,以及它的安全性。特別是它的安全性,從它的發(fā)明到現(xiàn)在的7年的時間已經(jīng)為無數(shù)的事實所證明。Java語言的安全性,安全機制也有它發(fā)展的過程,下面我們簡單介紹以下Java的安全機制。

1.Java1.0的沙箱機制:

圖2 Java1.0安全的沙箱機制

2.Java1.1的可信任代碼的安全機制:

圖3 可信任代碼的安全機制

3.Java1.2/2的域安全機制:

圖4 Java1.2/2的域安全機制

三、坦克大戰(zhàn)手機游戲的設(shè)計流程和設(shè)計思路

(一)坦克大戰(zhàn)手機游戲的設(shè)計流程

1.游戲開發(fā)的流程。手機游戲開發(fā)不同于一般應(yīng)用程序開發(fā),它受到手機本身的限制,開發(fā)人員使用現(xiàn)有的技術(shù)去實現(xiàn),采用合理的開發(fā)流程非常重要,下面來介紹下手機游戲的簡要開發(fā)流程。

(1)提出方案:創(chuàng)意的產(chǎn)生。

(2)可行性分析:市場商業(yè)評估與開發(fā)難度評估。

(3)概要設(shè)計:策劃具體的游戲方案。

(4)詳細設(shè)計:包括框架設(shè)計、圖像設(shè)計、具體設(shè)計、代碼實現(xiàn)、初步測試等。

(5)品質(zhì)管理:跟蹤質(zhì)量評估,發(fā)布最終穩(wěn)定版產(chǎn)品。

2.游戲開發(fā)的詳細設(shè)計流程。在設(shè)計過程中,程序采用面向?qū)ο蟮脑O(shè)計方法,對游戲中的所有物體賦于對象的屬性。游戲的主要任務(wù)是在DemoCanvas類里實現(xiàn)的,該類聯(lián)系著與其他類的響應(yīng)。游戲運行后,首先在DemoCanvas類里初始化并啟動一個線程,由線程實時響應(yīng)按鍵狀態(tài),對屏幕進行重繪并產(chǎn)生一個菜單選項,允許用戶進行菜單選擇,根據(jù)不同的選擇可以產(chǎn)生不同的結(jié)果,選擇開始游戲后,游戲啟動接著載入玩家坦克圖片,敵方坦克圖片,爆炸圖片以及各種背景物體圖片,從外部文本文件載入地圖,然后產(chǎn)生玩家坦克與敵方坦克,最后對背景的所有物體進行繪圖。在主程序運行的線程中將以一定的頻率對屏幕背景進行重繪,實時反映整個游戲的進行狀態(tài)。玩家控制坦克在主線程中運行,隨屏幕刷新的頻率而前進。敵方坦克則由計算機控制,在游戲開始時逐漸增加線程,每增加一個敵方坦克就增加一個新線程,但屏幕上最多有兩輛敵方坦克,每輛敵方坦克是一個線程,一旦敵方坦克線程數(shù)滿達到最大值,就不允許敵人坦克再繼續(xù)出現(xiàn)在屏幕上。每輛坦克自產(chǎn)生之時起就只將擁有一發(fā)子彈,而且每發(fā)子彈均是一個線程,發(fā)生碰撞后并不結(jié)束子彈對象,只是將其線程終止。主程序在運行的過程中,將實時的監(jiān)測若干事件,如:玩家坦克是否被敵方坦克消滅,敵方坦克是否被消滅,且其剩余數(shù)量是否已經(jīng)為零,玩家是否在游戲中獲勝,各對象之間是否發(fā)生了碰撞等,并對屏幕進行實時重繪,由程序進入相關(guān)的分支執(zhí)行相應(yīng)的響應(yīng)代碼,是否結(jié)束游戲等。以便程序進入相關(guān)的分支執(zhí)行相關(guān)的代碼處理,結(jié)束游戲等。主程序流程如圖5所示。

(二)坦克大戰(zhàn)手機游戲的設(shè)計思路

1.坦克控制的設(shè)計思路。在游戲中坦克分玩家坦克與敵方坦克,對坦克的邏輯設(shè)計讀者可以先參閱圖6,對玩家坦克的設(shè)計引入了GameCanvas類,GameCanvas類提供getKeyStates方法獲取當前鍵盤上按鍵的信息。getKeyStates方法將以bit的形式返回鍵盤上按下鍵與釋放鍵的狀態(tài),當鍵盤按下鍵時返回bit為1,當鍵盤釋放鍵時返回bit為0。這里只需要getKeyStates方法的一個返回值就可以返回所有鍵的狀態(tài)。同時,getKeyStates方法的這個機制也可以檢測同時按下幾個鍵的狀態(tài),并能保證快速的按鍵和釋放也會被響應(yīng)。

2.子彈智能運行的設(shè)計思路。子彈的行為是雙方坦克的共同行為,每一輛坦克都有它自己的一個子彈,這個子彈在坦克被產(chǎn)生時就一直存在,在坦克未發(fā)射子彈前,其圖像被設(shè)置為不可見,只有當坦克發(fā)射了子彈時,子彈的圖像才被設(shè)置為可見,并且該子彈只有直至和障礙物發(fā)生碰撞或坦克被消滅時才消失,子彈的再次出現(xiàn)只是在屏幕上重新置于坦克的炮口,并使其顯示出來,向坦克前進的方向前進,對于子彈的邏輯設(shè)計讀者可參閱圖7。

四、結(jié)束語

J2ME是一種適合于手機游戲開發(fā)的技術(shù),它具有較強的移植性、入門技術(shù)門檻低和開發(fā)速度快等優(yōu)勢,而MIDP2.0規(guī)范提供的新特性增強了對手機游戲開發(fā)的支持,降低開發(fā)人員的開發(fā)難度,促進了J2ME應(yīng)用于手機游戲的發(fā)展。本文是針對Nokia S60平臺開發(fā)一個完整的坦克大戰(zhàn)手機游戲,游戲的開發(fā)使用了許多復雜的技術(shù),實現(xiàn)了傳統(tǒng)游戲的大部分功能,發(fā)揮了J2ME技術(shù)在手機游戲開發(fā)上的優(yōu)勢。

參考文獻:

1.http://java.sun.com/j2me

2.http://java.sun.com/Products/j2mewtoolkit/index.html

3.JSR-000139 Connected Limited Device Configuration 1.1

4.(美)Bruce Eckel.京京工作室譯.Java.編程思想.北京:機械工業(yè)出版社,1999

5.(美)Chuck Cavaness,Geoff Friesen,Brian Keeton.師夷工作室譯.Java完全探索(第二版).北京:中國青年出版社,2001

6.黃聰明.JAVA移動通信程序設(shè)計J2MEMIDP.北京:清華大學出版社,2002

7.洪維恩.Java2面向?qū)ο蟪绦蛟O(shè)計.北京:中國鐵道出版社,2002

8.盧軍.J2ME應(yīng)用程序開發(fā)手機、PDA程序開發(fā)捷徑.北京:中國鐵道出版社,2002

9.孫希,俞建新.Java虛擬機新技術(shù)探討.計算機應(yīng)用,2002(8)

(作者簡介:王卉玲,中山中專教師,碩士研究生;勞漢生,中山火炬職業(yè)技術(shù)學院教授、博士生導師 廣東中山 528400)

(責編:賈偉)

主站蜘蛛池模板: 98超碰在线观看| 国产黄网永久免费| 任我操在线视频| 亚洲人成网18禁| 小蝌蚪亚洲精品国产| 国产免费人成视频网| 伊人久久大香线蕉影院| 干中文字幕| 福利在线一区| 一级全免费视频播放| a免费毛片在线播放| 成人精品视频一区二区在线| 国产伦片中文免费观看| 国产视频一二三区| 亚洲a免费| 中文字幕不卡免费高清视频| 久久网综合| 又黄又爽视频好爽视频| 久久久无码人妻精品无码| 亚洲成人一区在线| 色婷婷色丁香| 国产v精品成人免费视频71pao| 久久午夜夜伦鲁鲁片不卡| 欧美a√在线| 在线观看无码av免费不卡网站| 999国产精品永久免费视频精品久久| 全午夜免费一级毛片| 97国产在线视频| 91精品国产91久久久久久三级| 久草视频福利在线观看| 四虎综合网| 久久永久免费人妻精品| 在线免费观看AV| 日韩欧美国产另类| 91丝袜美腿高跟国产极品老师| 国产视频自拍一区| 永久免费av网站可以直接看的| 久久伊伊香蕉综合精品| 老司国产精品视频91| 国产va免费精品| 国产丰满成熟女性性满足视频| 久久99国产乱子伦精品免| 久久99热66这里只有精品一| 亚洲高清日韩heyzo| 亚洲一级毛片| 5555国产在线观看| 2020国产免费久久精品99| 久久www视频| 26uuu国产精品视频| 制服丝袜无码每日更新| 国产91全国探花系列在线播放| 91在线播放免费不卡无毒| 欧美午夜性视频| 亚洲91精品视频| 成人在线综合| 五月丁香在线视频| 日韩av无码精品专区| 久久99精品久久久久纯品| 亚洲天堂网2014| 九色综合视频网| 4虎影视国产在线观看精品| 在线观看国产黄色| 国产农村1级毛片| 国产一区二区丝袜高跟鞋| 日a本亚洲中文在线观看| 免费看美女毛片| 99r在线精品视频在线播放 | 色综合久久无码网| 国产伦精品一区二区三区视频优播| 欧美亚洲另类在线观看| 欧美乱妇高清无乱码免费| 国产国语一级毛片| v天堂中文在线| 亚洲最大情网站在线观看| 日韩国产一区二区三区无码| 国产后式a一视频| 亚洲无码高清一区| 亚洲人在线| 亚洲一区无码在线| 精品中文字幕一区在线| 成人午夜免费观看| 国产一区二区网站|