張?zhí)N
摘 要:當(dāng)今時(shí)代,信息技術(shù)飛速發(fā)展,手機(jī)游戲成為人們經(jīng)常接觸的手機(jī)軟件形式之一,它是人們改造世界的一大成果。手機(jī)軟件發(fā)展日新月異,十分便捷,使人們進(jìn)入全新的信息化社會(huì)。當(dāng)前,手機(jī)游戲軟件迅速發(fā)展,規(guī)模不斷壯大,其弊端也日益突顯。因此,本文研究了手機(jī)游戲在虛擬社區(qū)中的運(yùn)用,分析了手機(jī)游戲系統(tǒng)的開發(fā)路徑。
關(guān)鍵詞:手機(jī)游戲;虛擬社區(qū);J2ME
中圖分類號(hào):TP317文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1003-5168(2020)14-0030-03
Research on Application and Development of Mobile Games
in Virtual Community
ZHANG Yun
(Jinzhou Branch of Liaoning Radio and TV University,Jinzhou Liaoning 121000)
Abstract: In today's era, with the rapid development of information technology, mobile games have become one of the forms of mobile phone software that people often come into contact with, which is a major achievement for people to transform the world. The rapid development of mobile phone software is very convenient and allows people to enter a new information society. At present, mobile game software is developing rapidly and the scale is constantly growing, and its drawbacks are also increasingly prominent. Therefore, this paper studied the use of mobile games in virtual communities and analyzed the development path of mobile game systems.
Keywords: mobile games; virtual community;J2ME
游戲社區(qū)供游戲玩家討論游戲,具有虛擬性,而移動(dòng)游戲社區(qū)是指手機(jī)和平板電腦等移動(dòng)設(shè)備上的游戲社區(qū)。隨著移動(dòng)互聯(lián)網(wǎng)的普及與移動(dòng)終端性能的提高,SNS(Social Networking Services,社會(huì)性網(wǎng)絡(luò)服務(wù))社區(qū)不再僅僅停留在計(jì)算機(jī)上,逐漸走進(jìn)各種移動(dòng)平臺(tái),如手機(jī)和平板電腦。與以往的虛擬社區(qū)相比,手機(jī)社區(qū)具有更好的實(shí)時(shí)性,可以提供LBS服務(wù)功能。目前,全球有大量移動(dòng)游戲社區(qū),如木瓜社區(qū)、OpenFeint、Scoreloop和Game Center等,每個(gè)社區(qū)都集成許多游戲,其通過游戲?qū)⒂脩袈?lián)系起來,使游戲成為人際交往的重要內(nèi)容。隨著游戲社區(qū)功能的完善,移動(dòng)游戲社區(qū)會(huì)發(fā)展得越來越好。
1 手機(jī)游戲發(fā)展現(xiàn)狀
現(xiàn)如今,科學(xué)技術(shù)迅猛發(fā)展,電子產(chǎn)品更新?lián)Q代速度加快。隨著功能的日益豐富,人們對(duì)手機(jī)的依賴越來越大,手機(jī)是移動(dòng)游戲社區(qū)的重要載體,手機(jī)游戲社區(qū)可以給社區(qū)成員提供諸多幫助,促進(jìn)成員相互溝通、交流經(jīng)驗(yàn),因此人們要重視手機(jī)游戲的開發(fā),并將手機(jī)游戲?qū)胩摂M社區(qū)。
以前的非智能機(jī)在生產(chǎn)時(shí)都有固定的應(yīng)用程序,不能在手機(jī)中安裝其他程序,同時(shí)不能刪除本機(jī)已有的程序。使用時(shí),與本機(jī)有沖突的軟件運(yùn)行不了,即使發(fā)現(xiàn)錯(cuò)誤,也不能更新、修改。為了體驗(yàn)新功能,人們需要更換手機(jī)。以往的非智能手機(jī)訪問互聯(lián)網(wǎng)采用WAP,如果網(wǎng)速較慢,就需要反復(fù)連接才能打開,十分耗時(shí),流量費(fèi)用較高。
Java編程技術(shù)在手機(jī)軟件尤其是游戲開發(fā)方面的作用異常強(qiáng)大。用戶可以根據(jù)個(gè)人需要,在網(wǎng)絡(luò)里搜索應(yīng)用程序,然后進(jìn)行下載,不需要購(gòu)買。網(wǎng)上軟件能夠根據(jù)手機(jī)類型進(jìn)行分類,下載時(shí)只要選擇和機(jī)型匹配的軟件即可。另外,軟件可以升級(jí),只要下載相應(yīng)的升級(jí)包,解壓后就可以成功升級(jí)。Java編程技術(shù)能夠創(chuàng)建一個(gè)類庫(kù),游戲軟件的開發(fā)商可以依據(jù)它研發(fā)出更加豐富多樣、使人產(chǎn)生濃厚興趣的游戲界面。
Java編程技術(shù)使游戲軟件運(yùn)行更加流暢。Java編程技術(shù)促進(jìn)了手機(jī)和手機(jī)游戲軟件的發(fā)展,豐富了手機(jī)功能,極大地方便了移動(dòng)游戲社區(qū)成員的溝通與交流。
2 系統(tǒng)開發(fā)
本研究以一款社區(qū)手機(jī)游戲軟件為例,研究了手機(jī)游戲在虛擬社區(qū)中的運(yùn)用,分析了手機(jī)游戲系統(tǒng)開發(fā)的具體路徑。
2.1 Java ME
Java ME(Java 2 Micro Edition)是Java 2的組成部分之一[1],與J2SE、J2EE并稱。與J2SE和J2EE相比,Java ME總體的運(yùn)行場(chǎng)景和需要達(dá)到的目的變得更加豐富,可以讓人們隨心所欲地選擇自己喜歡的手機(jī)軟件,其使用方法設(shè)計(jì)得比較簡(jiǎn)單,容易操作。手機(jī)軟件開發(fā)既要做到標(biāo)準(zhǔn)化和兼容性強(qiáng),又要盡可能增加功能,讓人們根據(jù)需要來選擇。JAVA ME的構(gòu)成有Profile、Configuration、和Optional Packages(可選包)。三者有機(jī)組合,相互作用,互為依靠,使得游戲軟件的運(yùn)行環(huán)境變得流暢,沒有卡頓。
2.2 手機(jī)游戲開發(fā)過程
2.2.1 手機(jī)動(dòng)畫編輯器的設(shè)置。手機(jī)游戲文件的大小受手機(jī)硬件存儲(chǔ)環(huán)境的制約。當(dāng)前,能被手機(jī)支持的jar文件大小為59~200 K。為了盡可能在手機(jī)上運(yùn)行更多的游戲,編程人員必須竭盡全力降低jar文件的大小。
手機(jī)游戲的jar文件通常包含Java代碼編譯后生成的class文件和圖片、聲音等資源文件兩部分。在降低jar文件大小時(shí),人們主要采用代碼混淆和圖像壓縮兩種手段。圖像壓縮的格式總體分為JEPG格式和PNG格式。
由于動(dòng)畫圖片通常至少占手機(jī)游戲文件存儲(chǔ)空間的2/3,因此怎樣在不降低圖片質(zhì)量的前提下,最大程度地節(jié)省存儲(chǔ)空間,保存游戲中的動(dòng)畫圖片[2-3],是手機(jī)游戲開發(fā)過程中迫切需要解決的問題。
為了制作絢麗的動(dòng)畫,同時(shí)減輕程序員的負(fù)擔(dān),人們可以設(shè)想開發(fā)這樣一種手機(jī)動(dòng)畫編輯器,它可以像Flash一樣方便、快捷地制作動(dòng)畫,同時(shí)自動(dòng)記錄下相關(guān)的數(shù)據(jù)信息。只要將資源圖片和這些信息導(dǎo)入手機(jī)中,通過解析,就可以得到相應(yīng)的動(dòng)畫。這樣,通過程序來拼接的煩瑣過程就轉(zhuǎn)變?yōu)槊烙^、直觀、便捷的操作過程,其流程如下:首先,軟件要求讀取一張包含所有動(dòng)作的部件的資源圖片;然后,新建或載入一個(gè)手機(jī)游戲動(dòng)畫工程。接著,編輯每個(gè)部件的組成,通過可視化的鼠標(biāo)拖動(dòng)操作來調(diào)節(jié)每個(gè)部件的位置,程序?qū)⒃诤笈_(tái)實(shí)時(shí)更新相應(yīng)的數(shù)據(jù)信息;最后,在動(dòng)畫編輯完成后,將后臺(tái)數(shù)據(jù)信息保存起來。
手機(jī)動(dòng)畫編輯器分為兩種:一是圖片編輯器,二是動(dòng)畫編輯器。圖片編輯器的用途是切割圖片,將大圖片中每個(gè)部件用矩形框選定出來,并記錄矩形區(qū)域的對(duì)角線坐標(biāo),以備制作動(dòng)畫時(shí)使用。將圖片導(dǎo)入手機(jī)動(dòng)畫編輯器以后,就可以對(duì)切割后的圖片進(jìn)行像Flash一樣的動(dòng)畫制作。
2.2.2 手機(jī)游戲動(dòng)畫程序流程圖。人們要遵循手機(jī)游戲設(shè)計(jì)流程,合理繪制圖片,保證圖片質(zhì)量。
2.2.2.1 手機(jī)游戲設(shè)計(jì)流程。一是要關(guān)注動(dòng)畫的色彩。手機(jī)屏幕較小,在玩時(shí),人們的目光比較集中,所以手機(jī)游戲的動(dòng)畫色彩十分重要。色彩調(diào)整很方便,使用調(diào)整圖層可以讓動(dòng)畫色彩發(fā)生變化。人們可以通過調(diào)整灰度、明暗來提升色彩效果。合理調(diào)整后,玩家在使用手機(jī)進(jìn)行游戲操作時(shí)可以產(chǎn)生濃厚的興趣,又能長(zhǎng)時(shí)間使用眼睛而不感到疲勞。二是襯托游戲主題。游戲主題必須有與之相匹配的動(dòng)畫設(shè)計(jì),讓玩家一看畫面就能夠有一個(gè)大致的認(rèn)識(shí)。開場(chǎng)動(dòng)畫設(shè)計(jì)固然要做得大氣,吸人眼球,但也要與內(nèi)容相一致,否則,即使初期吸引一些玩家,但也會(huì)因?yàn)楸砝锊灰?,使得玩家放棄。如果畫面處理得?dāng),即使沒有華麗的游戲動(dòng)畫,游戲依然可以吸引不少玩家。當(dāng)然,這需要手機(jī)游戲研發(fā)者對(duì)游戲有深刻的認(rèn)識(shí),能夠抓住游戲的本質(zhì)和特色,讓自己的設(shè)計(jì)能夠喚起玩家的共鳴。
2.2.2.2 繪制圖片。好的游戲圖形界面,給玩家在游戲中帶來逼真的視覺效果。制作圖片時(shí),先要整理一份游戲圖片的清單,避免圖片各項(xiàng)參數(shù)對(duì)游戲的安裝、運(yùn)行等各個(gè)方面產(chǎn)生較大影響。一般來說,圖片顏色越豐富,圖片總數(shù)量越多,則游戲生成的jar包越大,安裝時(shí)會(huì)對(duì)機(jī)型提出較高要求;圖片尺寸越大,在游戲中占用的內(nèi)存就越多,這會(huì)嚴(yán)重影響游戲的運(yùn)行速度甚至造成死機(jī)。整理圖片的主要信息包括:圖片類型、圖片尺寸、每類圖片的數(shù)量。
2.3 程序搭建分析
2.3.1 游戲構(gòu)架的搭建。游戲的構(gòu)架就如同人們的骨骼,整個(gè)游戲都需要在這個(gè)構(gòu)架之中運(yùn)行。一般來說,這個(gè)構(gòu)架中包括MIDlet類和Canvas類等游戲運(yùn)行必需的資源。Main類是MIDlet的子類,也就是整個(gè)游戲的入口。在Main類中維持著一個(gè)Game類的實(shí)例,Game代表珍格格游戲的畫布,繼承自Canvas。同時(shí),Game類也維持著Main的一個(gè)實(shí)例,主要目的是調(diào)回MID中的方法。
2.3.2 動(dòng)態(tài)背景的添加。添加動(dòng)態(tài)場(chǎng)景,讓游戲變得更加真實(shí),構(gòu)成背景的各個(gè)元素要以不同的速度移動(dòng)——最頂層的元素移動(dòng)速度最快,處于最底層的元素移動(dòng)速度最慢,而對(duì)于覆蓋最底層的中間層的元素來說,其移動(dòng)速度比底層有所增加。
游戲背景分為4部分:最底層是天空,它是靜止不動(dòng)的,因?yàn)樘炜针x主角太遠(yuǎn);然后是天上的云彩,它以一個(gè)很小的速度運(yùn)動(dòng);白云的上面一層是建筑物,其速度比白云快一些;最后是陸地,由于陸地處于最頂層,所以移動(dòng)速度最快。
2.3.3 在游戲中加入主角。在生成背景后,接下來就是為游戲添加主角。這款游戲需要添加3個(gè)主角,他們分別是普林斯、莎拉和蒙面人。三個(gè)主角在相貌上完全不一樣,但他們的動(dòng)作則完全相同,所以可以用一個(gè)主角類來統(tǒng)一控制。這個(gè)類主要對(duì)主角的基本信息,如姿勢(shì)、所持工具、狀態(tài)等進(jìn)行記錄和管理,每一種基本信息都有一個(gè)成員變量與之對(duì)應(yīng)。
2.3.4 制作一個(gè)地圖類。在游戲中,進(jìn)入關(guān)卡遇到的工具、障礙物、敵人和獎(jiǎng)品的坐標(biāo)都存放在一個(gè)特殊的類中,這個(gè)類就是地圖類Map.java。這個(gè)地圖類使用數(shù)據(jù)組記錄了每個(gè)關(guān)卡中上述4種元素(工具、障礙物、敵人和獎(jiǎng)品)的坐標(biāo),這樣在程序初始化時(shí)就可以利用地圖類中標(biāo)記的元素個(gè)數(shù)和位置將這些元素創(chuàng)建出來,并放入相應(yīng)的矢量隊(duì)列中。
2.3.5 障礙物的添加。在游戲中,障礙物是相對(duì)靜止的,因此只需要將在屏幕特定位置上顯示的障礙物不斷向左平移即可。
2.3.6 添加獎(jiǎng)品和工具。添加工具和獎(jiǎng)品與添加障礙物的方法基本相同,首先要?jiǎng)?chuàng)建獎(jiǎng)品類和工具類,它們和障礙物類的結(jié)構(gòu)大同小異,不過由于工具和獎(jiǎng)品的圖片比較小,在屏幕上不容易被看清,所以在繪制時(shí)讓獎(jiǎng)品和工具產(chǎn)生微小的顫動(dòng),使其在游戲中更容易被發(fā)現(xiàn)。
2.4 測(cè)試程序
先要對(duì)代碼進(jìn)行調(diào)試,進(jìn)行調(diào)試時(shí)使用Eclipse來完成,調(diào)試中要用到WTK生成包(即jar文件和jad文件),主要操作如下:在新建項(xiàng)目功能中使用WTK建立一個(gè)新項(xiàng)目,并且同工作區(qū)下Netbean的項(xiàng)目名稱、MIDlet類名保持一致。
整個(gè)測(cè)試過程主要就是通過找一些社區(qū)成員來體驗(yàn)這款游戲,在玩的過程中來查找游戲中哪里存在BUG。事實(shí)上,幾乎每種游戲都會(huì)產(chǎn)生很多BUG。
2.5 與手機(jī)游戲相關(guān)的程序代碼
#include
#include
#include
#include
using namespace std;
const int N=15; ? ? ? ? ? ? ? ? ?const char ChessBoardflag = ' '; ? ? ? ? ?const char flag1='o'; ? ? ? ? ? ? ?const char flag2='X'; ? ? ? ? ? ? ?typedef struct Coordinate
{
int x; ? ? ? ? ? ? ? ? ? ? ? ? //代表行
int y; ? ? ? ? ? ? ? ? ? ? ? ? //代表列
}Coordinate;
class GoBang
3 結(jié)論
隨著科學(xué)技術(shù)的發(fā)展,手機(jī)功能越來越豐富,而移動(dòng)游戲社區(qū)的出現(xiàn)極大地方便了游戲玩家的溝通與交流,使其可以獲得更好的游戲體驗(yàn)。但是,由于時(shí)間準(zhǔn)備不夠充分,在整體布局過程中,這款社區(qū)手機(jī)游戲軟件目前依然存在許多不妥之處,需要以后不斷修改和完善。
參考文獻(xiàn):
[1]張玉清.計(jì)算機(jī)通信網(wǎng)安全協(xié)議的分析研究[D].西安:西安電子科技大學(xué),2000.
[2]范紅.安全協(xié)議形式化分析理論與方法[D].鄭州:解放軍信息工程大學(xué),2003.
[3]Wenbo Mao.現(xiàn)代密碼學(xué)理論與實(shí)踐[M].北京:電子工業(yè)出版社,2004.