周改云 梁華國(guó) 勝媛媛 宋振歌 李戰(zhàn)國(guó)
摘要:該游戲以中國(guó)傳統(tǒng)節(jié)日為題材,利用Cocos2d-x提供的場(chǎng)景、層、精靈、粒子效果、音效管理等技術(shù),設(shè)計(jì)一款休閑類(lèi)功能性小游戲,讓人們?cè)谕嬗螒虻耐瑫r(shí)可以感受中國(guó)的傳統(tǒng)文化,體會(huì)到節(jié)日的樂(lè)趣。游戲主要實(shí)現(xiàn)了音量調(diào)節(jié)、帶動(dòng)畫(huà)播放效果的關(guān)卡選擇、場(chǎng)景的布局和加載、按鈕回調(diào)和場(chǎng)景跳轉(zhuǎn)、游戲數(shù)據(jù)管理、游戲勝負(fù)判定等功能。
關(guān)鍵詞:兔子探寶;傳統(tǒng)節(jié)日
中圖分類(lèi)號(hào):G434? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)26-0222-03
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Abstract:The game is based on traditional Chinese festivals, using Cocos 2d-x provided scenes, layers, elves, particle effects, sound effects Management technology, design a recreational functional games, so that people can experience the traditional Chinese culture while playing games, and experience the fun of the festival. The game mainly realizes the functions of volume adjustment, level selection with animation playing effect, scene layout and loading, button callback and scene jump, game data management, game winning or losing judgement, etc.
Key words: Rabbit Scout; Traditional Festival
1 引言
二維手機(jī)游戲作為移動(dòng)游戲的一種類(lèi)型,不僅注重游戲性和游戲內(nèi)容,而且游戲占用的儲(chǔ)存容量少,對(duì)手機(jī)性能要求較低,再加上二維手機(jī)游戲開(kāi)發(fā)的時(shí)間短、開(kāi)發(fā)成本少、難度低和風(fēng)險(xiǎn)小,所以二維手機(jī)游戲受到大多數(shù)人的青睞[1]。
本文采用跨平臺(tái)特性的開(kāi)源開(kāi)發(fā)引擎——Cocos2d-x,以傳統(tǒng)節(jié)日為背景,設(shè)計(jì)一款《兔子探寶》游戲。該游戲設(shè)計(jì)中選用卡通風(fēng)格,適合各年齡階段的用戶(hù)玩耍;游戲安裝包較小,玩家可隨時(shí)隨地安裝玩耍,在游玩中還可體會(huì)到濃烈的節(jié)日氛圍和過(guò)節(jié)樂(lè)趣,可彌補(bǔ)其因生活忙碌的而不能過(guò)節(jié)的遺憾。
2 游戲需求分析
2.1 游戲概述
該游戲以中國(guó)傳統(tǒng)節(jié)日為主題,采用卡通風(fēng)格設(shè)計(jì)一款休閑類(lèi)二維手機(jī)游戲。游戲的主角是一個(gè)卡通風(fēng)格的兔子;游戲的基本元素包括節(jié)日代表物和場(chǎng)景,每個(gè)場(chǎng)景中節(jié)日代表物有三個(gè),這些元素會(huì)被設(shè)置在不同場(chǎng)景中,每個(gè)場(chǎng)景的游戲元素放到不同位置,以給玩家?guī)?lái)不同的游戲體驗(yàn)。游戲主要以傳統(tǒng)節(jié)日的特點(diǎn)為場(chǎng)景設(shè)計(jì)七個(gè)關(guān)卡。
2.2游戲的玩法和玩點(diǎn)
1)游戲玩法
本游戲?qū)⒅袊?guó)七個(gè)不同的傳統(tǒng)節(jié)日作為主要關(guān)卡,每一個(gè)節(jié)日關(guān)卡難易程度都不相同。玩家只有在通過(guò)第一關(guān)卡之后才能進(jìn)入下一關(guān)。闖關(guān)角色設(shè)置了一只兔子的形象,在玩家進(jìn)行闖關(guān)的過(guò)程中,通過(guò)點(diǎn)擊可消除物,兔子沿路線(xiàn)運(yùn)動(dòng),直到兔子找到關(guān)卡的所有節(jié)日代表物則闖關(guān)成功。在點(diǎn)擊可消除物的過(guò)程中如果兔子碰到死亡物,這一關(guān)卡游戲結(jié)束回到游戲主頁(yè)或者重新開(kāi)始游戲。
2)游戲玩點(diǎn)
(1)玩家在進(jìn)行游玩時(shí),能夠通過(guò)運(yùn)動(dòng)路線(xiàn)找到節(jié)日代表物得到寶箱,給玩家?guī)?lái)更好的體驗(yàn)。
(2)玩家在各個(gè)節(jié)日?qǐng)鼍爸锌梢泽w會(huì)到不同的節(jié)日氛圍,感受中國(guó)傳統(tǒng)文化的魅力。
(3)本游戲設(shè)計(jì)按鈕、角色、節(jié)日代表物等不同種類(lèi)的場(chǎng)景元素,使玩家在不同的場(chǎng)景中體會(huì)不同的游戲樂(lè)趣。
3 游戲的設(shè)計(jì)與實(shí)現(xiàn)
3.1游戲流程的設(shè)計(jì)
玩家需要完成的業(yè)務(wù)流程如下:玩家啟動(dòng)游戲,系統(tǒng)開(kāi)始加載游戲資源,啟動(dòng)游戲之后,游戲會(huì)讓玩家進(jìn)行關(guān)卡選擇,選定第一關(guān)開(kāi)始游戲,當(dāng)玩家順利通過(guò)第一關(guān),可以選擇進(jìn)行下一關(guān),也可以選擇重新開(kāi)始第一關(guān)。以此類(lèi)推,只有順利通過(guò)本關(guān)卡,才可進(jìn)行下一關(guān)卡,本游戲共七個(gè)關(guān)卡,如果能夠順利通過(guò)前六個(gè)關(guān)卡,便可進(jìn)行最后一個(gè)關(guān)卡,也可返回重新開(kāi)始游戲,順利通過(guò)第七關(guān),游戲結(jié)束。游戲流程圖如圖1所示。
3.2游戲美工的設(shè)計(jì)與實(shí)現(xiàn)
游戲美工設(shè)計(jì)主要考慮游戲角色、游戲元素和游戲界面的設(shè)計(jì)。
1)角色
該游戲中的角色為兔子和狼,兔子的顏色以土黃色為基調(diào),調(diào)至偏粉色一點(diǎn),耳朵輪廓用深色加深體現(xiàn)立體感,眼睛、嘴巴和鼻子做成黑色的卡通形象。狼的整體色調(diào)為深灰色,并為其輪廓進(jìn)行描邊,添加白色部分融合一起更能體現(xiàn)卡通風(fēng)格。圖2為兔子和狼的設(shè)計(jì)效果圖。
2)游戲元素
該游戲中最主要的元素為節(jié)日代表物,每個(gè)節(jié)日都有不同的節(jié)日代表物,一般選擇人們所熟知的和典型的作為本節(jié)日的節(jié)日代表物。圖3為一些節(jié)日代表物設(shè)計(jì)效果圖。
3)游戲界面
該游戲中的游戲界面采用統(tǒng)一的風(fēng)格,以藍(lán)色為基調(diào),首先進(jìn)入主菜單界面,界面包含開(kāi)始按鈕、設(shè)置按鈕、幫助按鈕三個(gè)按鈕,三個(gè)按鈕都可以點(diǎn)擊。下圖3-4為主菜單界面設(shè)計(jì)效果圖。
3.3游戲交互功能的設(shè)計(jì)與實(shí)現(xiàn)
游戲主要設(shè)計(jì)并實(shí)現(xiàn)了游戲數(shù)據(jù)管理、關(guān)卡選擇、關(guān)卡加載、游戲判定勝負(fù)4個(gè)功能。
(1)游戲數(shù)據(jù)管理功能:在游戲設(shè)計(jì)中,游戲數(shù)據(jù)管理的功能在游戲中是必不可少的,關(guān)卡值和關(guān)卡鎖值、得分和剛體數(shù)等數(shù)據(jù)都將存儲(chǔ)在里面。本游戲主要運(yùn)用cocos2d-x引擎已封裝好的Json文件和UserDefault.xml文件對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和讀取[2]。該功能通過(guò)DataPrase類(lèi)來(lái)實(shí)現(xiàn)。
(2)關(guān)卡選擇功能: 關(guān)卡選擇功能的設(shè)計(jì)選擇了動(dòng)畫(huà)播放的方式來(lái)實(shí)現(xiàn)按鈕的回調(diào)。該游戲?yàn)橥婕以O(shè)計(jì)了7個(gè)關(guān)卡,關(guān)卡的設(shè)計(jì)增強(qiáng)了游戲的可玩性。玩家依次進(jìn)入七個(gè)關(guān)卡,開(kāi)啟全部關(guān)卡后,可隨意點(diǎn)擊任何一個(gè)關(guān)卡按鈕進(jìn)入相對(duì)應(yīng)的關(guān)卡場(chǎng)景。該功能通過(guò)SelectGate類(lèi)和SelectLayer類(lèi)來(lái)實(shí)現(xiàn)。圖5為關(guān)卡選擇的效果圖。
(3)關(guān)卡加載功能: 關(guān)卡加載功能的設(shè)計(jì),是每個(gè)游戲中都需要的,在關(guān)卡選擇的基礎(chǔ)上,該游戲關(guān)卡場(chǎng)景的加載時(shí)需要加載相對(duì)應(yīng)的csb文件。在游戲中,每個(gè)關(guān)卡加載的場(chǎng)景各不相同,關(guān)卡場(chǎng)景加載通過(guò)CocosStudio工具來(lái)實(shí)現(xiàn)。該功能通過(guò)GameScene類(lèi)來(lái)實(shí)現(xiàn)。圖6其中一關(guān)加載的效果圖。
部分關(guān)鍵代碼如下:
(4)游戲判定勝負(fù)功能:《兔子探寶》游戲的關(guān)鍵在于兔子在有限的時(shí)間內(nèi)能否找到關(guān)卡的節(jié)日代表物,在玩的過(guò)程中包含了物理碰撞檢測(cè),當(dāng)兔子在有限的時(shí)間內(nèi)找到所有的關(guān)卡節(jié)日代表物的時(shí)候,游戲勝利就跳轉(zhuǎn)到勝利場(chǎng)景;當(dāng)兔子在有限的時(shí)間內(nèi)碰到死亡物或者有限的時(shí)間內(nèi)沒(méi)有找到所有的關(guān)卡節(jié)日代表物,游戲失敗就跳轉(zhuǎn)到失敗場(chǎng)景。該功能通過(guò)WinLayer類(lèi)與LoseLayer類(lèi)實(shí)現(xiàn)。圖7勝利界面效果圖,圖8失敗界面效果圖。
4 游戲測(cè)試
游戲項(xiàng)目完成后將發(fā)布到手機(jī)端進(jìn)行測(cè)試,測(cè)試的手機(jī)為oppo A3。每個(gè)界面都正常顯示,游戲設(shè)置中可以設(shè)置音量大小和關(guān)閉聲音,游戲運(yùn)行場(chǎng)景正常顯示倒計(jì)時(shí)、暫停按鈕、得分寶箱與界面中需要運(yùn)動(dòng)的物體,可以正常碰撞吃到節(jié)日代表物而獲得寶箱,得到全部寶箱會(huì)達(dá)到游戲勝利界面如圖9、10所示。
5 結(jié)束語(yǔ)
本文敘述了“兔子探寶”游戲基于Cocos2d-x游戲引擎的設(shè)計(jì)思路與技術(shù)實(shí)現(xiàn)細(xì)節(jié),并詳細(xì)介紹了系統(tǒng)的主要界面以及游戲主要功能的設(shè)計(jì)以及實(shí)現(xiàn)。該游戲在多臺(tái)真機(jī)上進(jìn)行部署測(cè)試,運(yùn)行正常,游戲畫(huà)面絢麗,擁有良好的用戶(hù)體驗(yàn)效果,達(dá)到了設(shè)計(jì)期望,此系統(tǒng)具有一定的實(shí)用性和應(yīng)用前景。通過(guò)基于Cocos2d-x的休閑類(lèi)手機(jī)游戲的設(shè)計(jì)與實(shí)現(xiàn),可為便捷、高效、高品質(zhì)地實(shí)現(xiàn)游戲開(kāi)發(fā)者創(chuàng)意提供借鑒參考。
參考文獻(xiàn):
[1] 喻炳,宣榮,徐青平.基于cocos2d-x的手機(jī)游戲設(shè)計(jì)與實(shí)現(xiàn)[J].信息技術(shù)與信息化,2015(08):44-45.
[2] 肖文吉.Cocos2d-x3.x游戲開(kāi)發(fā)實(shí)戰(zhàn)[M].電子工業(yè)出版社,2015.
【通聯(lián)編輯:王力】