亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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文獻(xiàn)標(biāo)識碼:A

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

        一、引言

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

        隨著無線應(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è)計的流程,也很大程度的促進(jìn)了J2ME應(yīng)用于手機游戲的發(fā)展。

        由于Java語言相當(dāng)?shù)钠占埃瑢τ谟蠮ava語言基礎(chǔ)的人來說,J2ME技術(shù)的門檻較低,開發(fā)速度較快。J2ME技術(shù)擁有強大的移植性,可以經(jīng)過簡單的修改后,在不同廠商的手機上運行,現(xiàn)在在市場上的主要廠商有諾基亞、摩托羅拉、索愛等,它們之間在市場上進(jìn)行著激烈的競爭,進(jìn)而也促進(jì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?;A(chǔ)簡表主要用于CDC配置。MIDP連同功能較低的CLDC配置一起為開發(fā)移動設(shè)備應(yīng)用程序提供了完整的Java平臺。

        2.配置層:面對的是大量各種不同的小型嵌入式設(shè)備,J2ME將這些設(shè)備進(jìn)行分類,將一些共性提取出來形成適合于某范疇中設(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)詳細(xì)設(shè)計:包括框架設(shè)計、圖像設(shè)計、具體設(shè)計、代碼實現(xiàn)、初步測試等。

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

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

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

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

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

        四、結(jié)束語

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

        參考文獻(xiàn):

        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.北京:清華大學(xué)出版社,2002

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

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

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

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

        (責(zé)編:賈偉)

        蜜桃色av一区二区三区麻豆 | av天堂免费在线播放| 粉嫩小泬无遮挡久久久久久| 精品无码人妻一区二区三区品| 国产极品美女高潮抽搐免费网站| 精品国产一品二品三品| 性感女教师在线免费观看| 一区二区三区av波多野结衣| 亚洲一区爱区精品无码| 国产av大片在线观看| 99久久国产精品免费热| 插我一区二区在线观看| 一本色综合亚洲精品蜜桃冫| 国产精品毛片99久久久久| 亚洲伊人久久大香线蕉| 国产偷国产偷精品高清尤物| 中字幕久久久人妻熟女| 日本第一区二区三区视频| 一区二区三区午夜视频在线| 韩国三级中文字幕hd| 五月天久久国产你懂的| 亚洲一区二区三区乱码在线 | 国产亚洲一区二区在线观看| 国产免费又色又爽又黄软件| 国产自产拍精品视频免费看| 东北老熟女被弄的嗷嗷叫高潮| 亚洲a∨无码一区二区三区| 亚洲精品国产综合一线久久| 久久综合给合久久97色| 久久一二区女厕偷拍图| 中文字幕天天躁日日躁狠狠躁免费| 中文字幕久无码免费久久| 日韩va高清免费视频| 国产亚洲精品第一综合另类| 欧美丰满大乳高跟鞋| 如何看色黄视频中文字幕| 亚洲97成人在线视频| 久久人人爽人人爽人人片av东京热| 中文字幕一区二区人妻出轨| 亚洲国产综合精品一区| 日日躁夜夜躁狠狠躁|