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