高光+劉琳琳+申秋慧
摘要:當(dāng)今的社會已經(jīng)進(jìn)入到移動互聯(lián)網(wǎng)的時(shí)代,隨著移動終端尤其是手機(jī)的迅速普及,游戲從PC端向手機(jī)端發(fā)展的趨勢日益明顯。該文基于Cocos2D-x引擎技術(shù),研究其在IOS系統(tǒng)平臺下的設(shè)計(jì)與開發(fā),同時(shí)使用Eclipse、OpenGL ES等工具進(jìn)行封裝保存數(shù)據(jù),對于在IOS下開發(fā)游戲具有較好的實(shí)際應(yīng)用效果。
關(guān)鍵詞:IOS;Cocos-2D;Eclipse;手機(jī)游戲
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)28-0065-02
當(dāng)今社會,圍繞移動互聯(lián)網(wǎng)展開的產(chǎn)業(yè)日益增多,而手機(jī)游戲已經(jīng)發(fā)展到其中非常重要的一個(gè)行業(yè)。據(jù)統(tǒng)計(jì),截止到2015年底,在中國,手游的使用者人數(shù)已經(jīng)突破3億。在這種情況下,各種手機(jī)游戲和手機(jī)游戲開發(fā)技術(shù)非常多,如何采用較為有效的技術(shù)開發(fā)具有多種效果的手游,就成為了業(yè)界非常重要的研究課題?;诖苏埧?,本文采用動畫制作技術(shù)——Cocos2D-x,將其應(yīng)用到手游唱的設(shè)計(jì)與開發(fā)中,取得了較好的實(shí)際應(yīng)用效果[1]。
1.背景與意義
1.1 背景及相關(guān)介紹
目前,手游的開發(fā)主要基于兩大平臺:IOS平臺和Andriod平臺,其中Andriod平臺由于其為免費(fèi)開放平臺,理論上易于手游開發(fā)者進(jìn)行開發(fā),但是開放造成的管理混亂和開發(fā)者權(quán)利得不到保障,使得越來越多的手游開發(fā)者轉(zhuǎn)戰(zhàn)于IOS平臺,同時(shí)IOS平臺又為開發(fā)者提供較為便捷的平臺接口,使得IOS平臺已經(jīng)成為手游開發(fā)的最大平臺。本文也是在此條件下進(jìn)行研究開發(fā)。
1.2 游戲開發(fā)引擎介紹
手機(jī)游戲的開發(fā)作為一個(gè)綜合性的項(xiàng)目,前期的客戶體驗(yàn)如視覺,情節(jié)和速度等因素產(chǎn)生的客戶體驗(yàn)與后期維護(hù)非常重要,其決定了一款游戲的質(zhì)量與生存[2]。從技術(shù)領(lǐng)域上來說可分成若干個(gè)模塊,如開發(fā)引擎選擇與配優(yōu),游戲效果渲染,動畫內(nèi)容設(shè)計(jì),仿真沖撞等模塊。手游開發(fā)者需要想盡可能地降低開發(fā)難度,提高開發(fā)技術(shù)的適用性,以及降低后期維護(hù)成本,在各個(gè)環(huán)節(jié)中,游戲引擎的選擇與配優(yōu)環(huán)節(jié)至關(guān)重要。
目前經(jīng)常使用到的引擎技術(shù)有Cyclone2D,Smart2D等,這兩個(gè)游戲引擎具有容易上手,封裝簡單等特點(diǎn),但是技術(shù)的拓展性不強(qiáng),不適用于不同場景下轉(zhuǎn)換較多的游戲開發(fā)[3]。
本文所采用的Cocos2d-x,本身是用于動畫設(shè)計(jì)中一項(xiàng)專業(yè)技術(shù),后引用到IOS平臺下的應(yīng)用開發(fā),并在手游領(lǐng)域得到了充分的應(yīng)用,其技術(shù)拓展性較好,且技術(shù)本身穩(wěn)定,可以支持多種開發(fā)語言,且支持跨平臺開發(fā)[4]。在Cocos2d-x游戲引擎中,所有的動畫都可以在編輯器中得到仿真實(shí)現(xiàn),且更改容易。
Cocos2d-x的框架圖如圖1所示,從圖中可以看到,各個(gè)模塊間構(gòu)成一個(gè)樹狀圖,而OpenGL ES 3.0正是根據(jù)這種關(guān)系進(jìn)行游戲效果渲染。
2 手游開發(fā)框架
手游框架如圖2所示,該框架圖大體借鑒了此類游戲引擎框架的架構(gòu)進(jìn)行設(shè)計(jì)開發(fā)的[5]。整個(gè)游戲框架大體分為3層,其中引擎模塊是已封裝好的庫,并且提供大量的接口面向開發(fā)者使用。管理模塊包含:普通自定義類模塊、管理模塊、布局模塊、場景模塊、數(shù)據(jù)模塊等,其具體實(shí)現(xiàn)的內(nèi)容有特效處理,音效處理,數(shù)據(jù)處理,算法設(shè)計(jì)及其他模塊。
手游需要滿足以下功能特征:
1)游戲模式多種多樣,需要滿足:單機(jī)和接網(wǎng)兩種模式;在使用中按照游戲情
節(jié)分為單人模式,多人模式以及集團(tuán)模式;
2)游戲規(guī)則固定且涵蓋用戶的多種需求,需要根據(jù)用戶的得分及失分,花費(fèi)時(shí)
間等判別輸贏;
3)游戲需要完善的登陸,更新及退出機(jī)制。
手游開發(fā)和設(shè)計(jì)過程中需要注意以下內(nèi)容:
1)流程控制:有效管理控制不同場景之間切換實(shí)現(xiàn)。
2)導(dǎo)演設(shè)置:手游的領(lǐng)導(dǎo)者和仲裁者,利用導(dǎo)演設(shè)置可以獲取設(shè)備的狀態(tài),感
應(yīng)以及場景切換等。
3)場景:即設(shè)置游戲中關(guān)卡場景,保證其界面效果,場景比較抽象,其作用只
是用來管理游戲中的一個(gè)布景。
4)布局:多個(gè)布局組成場景,其布局就相當(dāng)于游戲場景中的背景圖,關(guān)卡布局不同也就是場景的差別。在有些情況下,為了很好的管理,會把一個(gè)場景分為多個(gè)布景,如UI界面。
5)對象:對象是游戲最主要的因素特征,就像超級瑪麗奧中的蘑菇、烏龜?shù)?,是有開發(fā)者自主定義的。
6) 動作內(nèi)容:包括有移動,放縮、霧化、閃爍及跳躍等。
3 技術(shù)開發(fā)實(shí)現(xiàn)
游戲界面展示的是開始、退出、音效控制、背景還原、情節(jié)設(shè)置等按鈕。為了使游戲安裝的流暢性,一般可以采取壓縮圖片的方式,Cocos2d-x中有很多庫函數(shù)供調(diào)用以實(shí)現(xiàn)壓縮的效果,也開放相應(yīng)接口來讀取壓縮文件[6]。
由于Cocos2d-x是由OpenGL ES進(jìn)行圖形渲染的,紋理會的容量大小為,本文采用ZwOptex和TextruerParcke對渲染后的效果進(jìn)行壓縮。
特效模塊采用粒子編輯器得以實(shí)現(xiàn),在實(shí)現(xiàn)的過程會形成散射狀的光環(huán)特效;音效處理采用旋轉(zhuǎn)按鈕和背景音樂節(jié)奏方式進(jìn)行控制;數(shù)據(jù)模塊采用的Lua管理,在手機(jī)物理內(nèi)存中保存數(shù)據(jù)信息;按鍵監(jiān)聽采用的是Cocos2d-x引擎的內(nèi)部接口來監(jiān)聽手機(jī)按鍵;
Cocos2d-x采用的關(guān)鍵算法是根據(jù)物理世界中物體沖擊效果進(jìn)行判斷的。引擎模塊在采用Cocos2d-x進(jìn)行開發(fā)的同時(shí),使用OpenGLES技術(shù)進(jìn)行畫圖渲染,Lua工具進(jìn)行數(shù)據(jù)管理和控制。用Cocos2d-x引擎實(shí)現(xiàn)模塊功能并進(jìn)行類封裝,然后用接口串行。用OpenGLES對圖片進(jìn)行優(yōu)化處理,用Lua在手機(jī)本地創(chuàng)建一個(gè)不可修改的文件夾,把游戲產(chǎn)生的數(shù)據(jù)進(jìn)行保存。
除此之外,Cocos2d-x技術(shù)在開發(fā)IOS平臺下的手游的過程中,需要注重游戲的性能配置、穩(wěn)定度、資源的加密手段、反射手段。
4 結(jié)論
Cocos2d-x技術(shù)在對IOS平臺下的手游的開發(fā)實(shí)現(xiàn)過程中具有良好的適用性和穩(wěn)定性,能較好完成手游的絕大部分功能,但是在實(shí)現(xiàn)過程中出現(xiàn)內(nèi)存泄漏和卡屏的小概率事件,需要在今后的研究工作中進(jìn)行進(jìn)一步的研究。
參考文獻(xiàn):
[1] 滿碩泉.Cocos2D-x權(quán)威指南[M].北京:機(jī)械工業(yè)出版社,2013:33-36.
[2] 王洪江.淺析手機(jī)游戲開發(fā)技術(shù)[J].吉林省教育學(xué)院學(xué)報(bào),2015(1):4-6.
[3] 鄧正陽,陳和平,蘇鵬.動態(tài)腳本語言Lua與C++交互方法的研究與實(shí)現(xiàn)[J].電腦與信息術(shù),2010,18(4):25.
[4] 于造波.腳本技術(shù)在游戲引擎中的應(yīng)用[J].電腦知識與技術(shù),2008,24(4):22-23.
[5] Ierusalimschy,Roberto. Programming In Lua[M].John Wiley & Sons Inc:2005.
[6] Philippe Salembier,John R Smith. MPEG-7 Multimedia Description Schemes[J].IEEE Transactions on Circuits and Video Technology,2001,11(6):748-759.