亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺析基于J 2 M E平臺的貪吃蛇游戲開發(fā)

        2013-01-19 15:17:12劉曉崢
        科技視界 2013年17期
        關(guān)鍵詞:手機游戲線程繪制

        劉曉崢

        (長江工程職業(yè)技術(shù)學(xué)院,湖北武漢430212)

        淺析基于J 2 M E平臺的貪吃蛇游戲開發(fā)

        劉曉崢

        (長江工程職業(yè)技術(shù)學(xué)院,湖北武漢430212)

        本文介紹了J2ME及其體系結(jié)構(gòu)的基礎(chǔ)上,以貪吃蛇游戲為實例,描述了借助J2ME的MIDlet類庫開發(fā)手機游戲的全過程。

        J2ME;MIDlet;手機游戲

        1 初識J2ME

        Java自從20世紀90年代早期誕生以來,以其強大的功能迅速為廣大程序員們所接受。J2ME是由SUN公司于1999年在 JavaOne Developer Conference大會上正式推出,是為機頂盒、移動電話和PDA之類嵌入式消費電子設(shè)備提供的Java語言平臺,包括虛擬機和一系列標準化的Java API。它和Java SE、Java EE一起構(gòu)成了Java技術(shù)的三大版本。它將Java語言的與平臺無關(guān)的特性移植到小型電子設(shè)備上,允許移動無線設(shè)備之間共享應(yīng)用程序。開發(fā)Java ME程序一般不需要特別的開發(fā)工具,開發(fā)者只需要裝上Java SDK及下載免費的Sun Java Wireless Toolkit 2.xx系列開發(fā)包,就可以開始編寫Java ME程式,編譯及測試,此外目前主要的IDE(Eclipse及NetBeans)都支持Java ME的開發(fā)。

        2 手機游戲發(fā)展之路

        2.1 了解智能手機與J2ME

        近年來的計算機技術(shù)一方面向著巨型化、智能化發(fā)展,另一方面同時向著微型化、便攜化等方向發(fā)展。如今,隨著人們對于嵌入式技術(shù)的深入研究,使得手機的功能不再僅限于通信,誕生了智能手機。所謂的智能手機(Smartphone),是指像個人電腦一樣,具有獨立的操作系統(tǒng),可以由用戶自行安裝軟件、游戲等第三方服務(wù)商提供的程序,并可以通過移動通訊網(wǎng)絡(luò)來實現(xiàn)無線網(wǎng)絡(luò)接入的這樣一類手機的總稱。

        智能手機操作系統(tǒng)包括早年的以多普達、HTC(宏達)為代表的Windows Mobile操作系統(tǒng)、以諾基亞為代表的Symbian操作系統(tǒng),還有目前最流行,市場占有份額最大的Google公司開發(fā)的基于Linux的Android操作系統(tǒng),另外蘋果公司開發(fā)的基于類Unix的ios操作系統(tǒng)也后來居上,占有全球市場很大份額。不同操作系統(tǒng)的手機之間的應(yīng)用軟件互不兼容,而相同系統(tǒng)的手機軟件基本通用,使用起來相當?shù)谋憷?。因為可以安裝第三方軟件,所以智能手機有豐富的擴展功能。但是,J2ME的實現(xiàn)并不要求手機一定要安裝操作系統(tǒng),它只要手機芯片支持java就可以運行,而目前絕大部分手機都內(nèi)置Java虛擬機,所以J2ME技術(shù)以其移植性強,技術(shù)入門快的優(yōu)勢仍然在業(yè)內(nèi)流行。

        2.2 手機游戲的發(fā)展

        手機游戲發(fā)展到如今已超過十年。大致總結(jié),手機游戲可分為文字類游戲與圖形類游戲。早期的電子寵物、短信游戲和WAP游戲,都屬于文字類游戲,娛樂性較差。隨著手機硬件和軟件技術(shù)的不斷發(fā)展,手機游戲開發(fā)也得到了快速的發(fā)展和商業(yè)應(yīng)用,現(xiàn)在的手機游戲采用了更為直觀且更為精美的畫面直接表現(xiàn),已發(fā)展到了可以和掌上游戲機媲美的程度,具有很強的娛樂性和交互性的復(fù)雜形態(tài)了,因此廣受玩家們的歡迎。從早期的嵌入式游戲、短信游戲、WAP游戲、Java游戲再到網(wǎng)絡(luò)游戲,手機游戲產(chǎn)業(yè)已經(jīng)形成多元化發(fā)展,以畫面精美為特點的小游戲、網(wǎng)絡(luò)游戲為主的大型聯(lián)網(wǎng)游戲、多人聯(lián)網(wǎng)游戲,以及跨平臺聯(lián)網(wǎng)游戲都是未來的發(fā)展方向。隨著中國3G用戶滲透率的提升和無線網(wǎng)絡(luò)覆蓋范圍的延伸,未來通過3G和WIFI接入網(wǎng)絡(luò)玩手機游戲的用戶將可以玩更多大型的網(wǎng)絡(luò)游戲。如今的手機,已不僅僅只是一部手機,它更是一部微電腦或者游戲機,而手機的發(fā)展史,同時也是手機游戲的一部發(fā)展史。而本文介紹的貪吃蛇游戲,是諾基亞早期的一款代表性嵌入式游戲,直接嵌入手機芯片,可以運行但不能修改。以當今的眼光看,它的畫面不夠精美,娛樂性不是很強。但在手機游戲出現(xiàn)的早期,它是一款相當經(jīng)典的游戲。

        3 貪吃蛇游戲的設(shè)計與開發(fā)

        3.1 開發(fā)平臺與技術(shù)概述

        本文中游戲開發(fā)背景如下:操作系統(tǒng):Microsoft Windows XP;程序語言:Java 2;開發(fā)包:Sun Java(TM)Wireless Toolkit 2.5.2 for CLDC;IDE:Eclipse 3.2。

        3.1.1 WTK

        WTK的全稱是Sun J2ME Wireless Toolkit,是Sun的無線開發(fā)工具包。這一工具包的設(shè)計目的是為了幫助開發(fā)人員簡化j2me的開發(fā)過程。使用其中的工具可以開發(fā)與 Java Technology for the Wireless Industry(JTWI,JSR 185)規(guī)范兼容的設(shè)備上運行的j2me應(yīng)用程序。該工具箱包含了完整的生成工具、實用程序以及設(shè)備仿真器。目前最新版本是2.5版。

        3.1.2 MIDP

        MIDP全稱是Mobile Information Device Profile,意即移動信息設(shè)備配置文件。建立在CLDC的基礎(chǔ)之上,用來描述手機和尋呼機這樣更加具體化的無線移動設(shè)備。對于 Java ME平臺,MIDP定義了一個標準的Java API集合,此集合與聯(lián)網(wǎng)的受限設(shè)備配置 CLDC一起提供了一個面向移動信息設(shè)備(如移動電話、雙向?qū)ず魴C和無線個人電腦記事本)的完整Java ME應(yīng)用程序運行環(huán)境。

        有了現(xiàn)代漢語中這種框架構(gòu)式的存在,為網(wǎng)絡(luò)用語“我了(嘞)個去”等提供了產(chǎn)生和生長的溫床。“洗澡”“理發(fā)”是一個離合詞,他的拆分和重新整合是廣為人接受的,而“我了(嘞)個去”是不合實際的,這就導(dǎo)致了本來熟悉的詞法和語素變得陌生。這種沒有語法基礎(chǔ)和邏輯基礎(chǔ)的套用在網(wǎng)絡(luò)這個平臺上,以其受眾追求新奇的心態(tài)下使得其臨時成立。

        3.1.3 ECLIPSE

        Eclipse是一個開放源代碼的軟件開發(fā)項目。它主要由Eclipse項目、Eclipse工具項目和Eclipse技術(shù)項目三個項目組成,具體包括四個部分組成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE用來支持插件開發(fā),Eclipse Platform則是一個開放的可擴展IDE,提供了一個通用的開發(fā)平臺。它提供建造塊和構(gòu)造并運行集成軟件開發(fā)工具的基礎(chǔ)。

        3.2 開發(fā)過程(游戲代碼略)

        3.2.1 游戲規(guī)則簡介

        在貪吃蛇游戲中,玩家操作由小方塊連接而成的蛇,去吃隨機散落在畫面內(nèi)的小方塊,每吃一塊就增加一小方塊長度,要是撞壁以及撞自己的尾,就屬于失敗,如無失敗則直到通關(guān)為止。屏幕的長度的行向為11單位,縱向為18單位。在這個范圍內(nèi),玩家通過操作方向鍵來控制蛇的運動方向。該游戲的最大特色是屏幕自適應(yīng),無論各種手機的屏幕大小如何,該游戲總是能獲得最佳的顯示效果。

        圖1 程序流程圖

        本游戲的操作流程:用戶在啟動MIDlet后,即進入游戲主畫面,屏幕開始顯示為歡迎畫面。用戶按下[啟動]按鈕后,就可以開始玩游戲。當用戶想暫停時,再次按一下[啟動]按鈕開始,游戲就暫停了,在暫停的情況下再按[開始]按鈕,游戲繼續(xù)運行。任何時候按[EXIT]按鈕退出,游戲MIDlet都會終止。

        圖2 游戲運行畫面

        1)地圖模塊

        采用二維繪圖工具:二維繪圖工具drawLine采用4個參數(shù)——直線起點的x、y坐標值和直線終點x、y的坐標值

        2)操作控制模塊

        MIDP的游戲設(shè)計,本質(zhì)上就是用一個線程或者定時器產(chǎn)生重繪事件,用線程和用戶輸入改變游戲狀態(tài)。這個游戲也不例外,啟動MIDlet后,就立即生成一個重繪線程,該線程每隔50ms繪制一次屏幕。當然,重繪時有一些優(yōu)化措施,并不是屏幕上所有的像素都需要重繪,而是有所選擇,比如游戲畫布上那些已經(jīng)固定下來的就不需重繪。游戲畫布是一個CommandListener,可以接受用戶鍵盤命令,控制蛇的左移,右移,下移,上移。整個游戲的流程控制體現(xiàn)在游戲畫布對象的paint()方法里。paint()根據(jù)當前的游戲狀態(tài),繪制出當時的游戲畫面。歡迎畫面和Game Over畫面的繪制相當簡單,游戲暫停畫面的繪制也相當容易,就是設(shè)立標志,讓paint()執(zhí)行的時候無需真正執(zhí)行重繪動作。

        3)開始畫面與字體模塊

        開始畫面仍然生成繪制畫布線程,利用paint()方法設(shè)置開始畫面的各項屬性,字體方面采用setColor方法分別繪制字體的邊框與內(nèi)部顏色。當線程啟動時,即生成開始畫面。

        4)分數(shù)記錄模塊

        在此模塊中建立目標類實例,先借助字節(jié)輸出流類統(tǒng)計游戲運行過程中的存儲字段,即蛇吃的點數(shù)。再將存儲記錄的字節(jié)數(shù)字一次性傳入目標類實例中。關(guān)鍵代碼如下:

        byte[]byteInputData=new byte[100];

        inputStream=newByteArrayInputStream(byteInputData);

        inputDataStream=newDataInputStream(inputStream);

        再如前所示,將成績用paint()方法繪制入結(jié)束畫面的畫布。

        4 結(jié)束語

        本文所介紹的貪吃蛇游戲,實現(xiàn)了手機游戲的一些基本和必需的功能。如游戲的界面設(shè)置,游戲動畫的設(shè)置,玩家的控制鍵設(shè)置,游戲的保存和游戲紀錄的保存,游戲的開始和暫停等功能。隨著目前各大手機廠商的大力研發(fā),智能手機的發(fā)展一日千里,手機芯片功能的更新也日新月異,本文的貪吃蛇游戲相形之下已然落后,但是,作為初學(xué)者,仍然要從基礎(chǔ)做起,腳踏實地才能有所成就。

        [1]陳立偉,張克非,黎秀紅.精通JAVA手機游戲與應(yīng)用程序設(shè)計[M].中國青年出版社,2005,5.

        [2]孫衛(wèi)琴.精通Struts:基于MVC的Java Web設(shè)計與開發(fā)[M].北京:電子工業(yè)出版社,2004,08.

        [3]張孝祥.Java就業(yè)培訓(xùn)教程[M].北京:清華大學(xué)出版社,2003.

        [4]王國輝,李立文,楊亮.JSP數(shù)據(jù)庫系統(tǒng)開發(fā)完全手冊[S].

        This article describes the J2ME based on its architecture to Snake game as an example,describes a class library using the J2ME MIDlet whole process of the development of mobile games.

        J2ME;MIDlet;Mobile games

        劉曉崢(1984—),女,陜西漢中人,碩士,講師,主要從事計算機軟件教學(xué)和科研。

        楊揚]

        猜你喜歡
        手機游戲線程繪制
        Art on coffee cups
        放學(xué)后
        童話世界(2018年17期)2018-07-30 01:52:02
        讓手機游戲成為傳統(tǒng)文化的傳播新渠道
        傳媒評論(2018年3期)2018-06-21 08:16:28
        手機游戲?qū)Υ髮W(xué)生的負面影響及對策分析
        淺談linux多線程協(xié)作
        在干什么
        在轉(zhuǎn)變中繪制新藍圖
        淺談手機游戲業(yè)務(wù)發(fā)展策略
        Linux線程實現(xiàn)技術(shù)研究
        VBA在宗地圖繪制中的應(yīng)用
        中文字幕久久久久久精| 中国免费看的片| 亚洲中文字幕在线精品2021| 熟女免费观看一区二区| 日本妇人成熟免费2020| 99久久久国产精品免费蜜臀| 日日噜噜噜夜夜爽爽狠狠| 亚洲国产成人精品激情| 操老熟妇老女人一区二区| 人妻中文字幕日韩av| 美女不带套日出白浆免费视频 | 欧美性生交活xxxxxdddd| 色橹橹欧美在线观看视频高清| 亚洲熟妇无码av不卡在线播放| 白白青青视频在线免费观看| 亚洲av成人永久网站一区| 久久久久久夜精品精品免费啦 | 就国产av一区二区三区天堂| 在线观看国产三级av| 国产日韩乱码精品一区二区| 中文字幕亚洲视频一区| 久久久久夜夜夜精品国产| 精品国产乱码久久久软件下载 | 92精品国产自产在线观看48页| 日本一区中文字幕在线播放 | 婷婷伊人久久大香线蕉av| 国产真实夫妇视频| 日本成人字幕在线不卡| 日本一区二区啪啪视频| 青青草成人在线免费视频| 巨茎中出肉欲人妻在线视频| 婷婷九月丁香| 国产aⅴ天堂亚洲国产av| 亚洲麻豆av一区二区| 一区二区三区视频在线观看| 亚洲av片在线观看| 精品国产一区二区三区久久久狼| 一区二区三区四区在线观看视频 | 亚洲av永久无码精品网址| 国产精品露脸视频观看| 亚洲人成伊人成综合网中文 |