• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Quick—Cocos2d—x引擎的《小鎮(zhèn)逃亡》手機游戲設(shè)計

      2017-04-17 10:28:14郭易峰
      電腦知識與技術(shù) 2016年36期
      關(guān)鍵詞:手機游戲

      郭易峰

      摘要:游戲基于Quick-Cocos2d-x引擎設(shè)計框架,以Sublime Text2為開發(fā)工具,采用MVC設(shè)計模式,使用Lua開發(fā)語言,實現(xiàn)了游戲的用戶管理、角色升級、裝備升級、技能升級、觸摸管理、數(shù)據(jù)管理等功能。

      關(guān)鍵詞:Quick-Cocos2d-x引擎; MVC設(shè)計模式;手機游戲

      中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)36-0082-03

      1 概述

      手機游戲(以下簡稱手游)很好地繼承了電腦游戲的優(yōu)勢和賣點,并且在手機廣泛的應(yīng)用空間里發(fā)揮著自身的價值。強調(diào)用戶體驗的RPG手游,已經(jīng)在龐大的手機游戲強手之林中,鋒芒畢露。

      IOS移動平臺的應(yīng)用和游戲開發(fā)也處于發(fā)展高潮期,手游成了電信增值業(yè)務(wù)中一項主要應(yīng)用,而且手機使用量正在飛快的遞增著。因此設(shè)計和開發(fā)一款好玩、高品質(zhì)的RGP的手游,可以讓更多人在閑暇之余放松自己,也鍛煉自己的實際動手開發(fā)能力,為將來能在手機相關(guān)應(yīng)用開發(fā)和其他軟件開發(fā)上有一個準備。本文主要完成以下內(nèi)容:

      1)對游戲引擎以及開發(fā)語言作了細致的研究,對游戲中需要用的核心技術(shù)做了詳細的學(xué)習(xí)。確定了游戲以Quick-Cocos2-x引擎為基礎(chǔ),使用Model-View-Control設(shè)計游戲框架,使用Lua語言編寫游戲代碼。

      2)對游戲的具體需求、數(shù)據(jù)庫設(shè)計作了具體、詳細的分析,并且完成了數(shù)據(jù)庫的建立及插入相應(yīng)數(shù)據(jù)。

      3)編寫具體功能的代碼。

      2 手機游戲技術(shù)

      2.1 Quick-Cocos2d-x游戲引擎

      本文主要研究基于Quick-Cocos2d-x引擎的RPG(角色扮演格斗類)游戲。Quick-Cocos2d-x引擎它是用Lua語言開發(fā)的,相對于Cocos2d-x引擎用C++開發(fā)來說要求比較低,并且Quick-Cocos2d-x引擎內(nèi)部將C++的接口轉(zhuǎn)化為Lua的接口之后更加的通俗易懂,開發(fā)者很容易上手。游戲使用Lua腳本語言開發(fā),Lua語言作為一種腳本語言,其輕量的特性給開發(fā)者帶來很多的便捷,在引擎內(nèi)部用Lua語言封裝類對象,留給外部一個接口,這樣既保護了數(shù)據(jù)又讓開發(fā)者可以很方便地使用這些接口,以提高開發(fā)效率。

      2.2屏幕觸摸事件

      屏幕觸摸事件,首先要設(shè)置屏幕能接收觸摸,即手指能夠觸摸屏幕并有響應(yīng),其次是創(chuàng)建觸摸事件監(jiān)聽器,加入事件調(diào)度器中并對其設(shè)置觸摸事件優(yōu)先級。事件監(jiān)聽器主要有觸摸事件,鍵盤響應(yīng)事件,加速記錄事件,鼠標響應(yīng)事件和自定義事件。這里游戲用到的是觸摸事件里的單點觸摸事件,特別的是,所有結(jié)點的觸摸優(yōu)先級是一樣的都為0,但是在上面的結(jié)點比在下面的結(jié)點要先處理觸摸事件,而且優(yōu)先級值越小,那么接受觸摸就越優(yōu)先。

      2.3 MVC設(shè)計模式

      MVC設(shè)計模式,即Model View Control 的縮寫,它的意思是指數(shù)據(jù)與呈現(xiàn)在玩家眼前的視圖之間的交互,Model是數(shù)據(jù),View是呈現(xiàn)在眼前的視圖,Control是聯(lián)系兩者之間的一個樞紐,它可以是一個對象,也可以是一個按鈕,圖片等等。使用同一個Model,它可以提供多個視圖的不同表現(xiàn)形式而無需創(chuàng)建新的Model,并且Model可以移植到新的平臺工作,它的另一個好處就是可以讓使用者在編寫游戲的過程中致力于View或者是Model的編寫而不用重復(fù)的寫新的Model,大大的提升了工作效率。

      2.4碰撞檢測技術(shù)

      碰撞檢測技術(shù)是引擎內(nèi)部封裝好的一個接口rectIntersectsRect()用來檢測兩個物體的getBoundingBox()是否重合,其內(nèi)部實現(xiàn)原理簡單的說就是獲取物體的邊界并判斷在一定的范圍內(nèi)是否重疊,如果重疊返回true,即發(fā)生了碰撞,否則返回false;實現(xiàn)精準的碰撞檢測可以準確的檢測到英雄與怪物的碰撞,提升畫面體驗感。

      3 系統(tǒng)分析與設(shè)計

      3.1系統(tǒng)需求分析

      游戲可以多玩家注冊、登錄,玩家登錄之后可以根據(jù)自己的喜好選擇并創(chuàng)建角色開始游戲。玩家進入游戲后砍殺怪物所得的金幣和經(jīng)驗可以用來買裝備、提升角色等級、提升武器和技能等級。游戲即時連接數(shù)據(jù)庫,玩家所有的信息都會存儲在本地路徑備份。

      3.2功能模塊設(shè)計

      基于以上需求分析,游戲的功能模塊有:用戶管理、角色升級、技能升級、裝備升級、觸摸管理、數(shù)據(jù)管理。

      用戶管理:用戶的注冊、登錄,不同玩家登錄后角色選擇以及信息的存儲管理。

      數(shù)據(jù)管理:游戲的數(shù)據(jù)管理類,包括所有信息的存儲與讀取。

      關(guān)卡功能:玩家開始游戲后,在主城界面點擊關(guān)卡,進入戰(zhàn)斗場景,通過殺怪可以積累經(jīng)驗和金幣,其中金幣可以用來提升玩家技能和裝備等級,經(jīng)驗提升角色等級。

      游戲強化:游戲強化分為裝備強化、技能強化、角色等級強化,其中裝備和技能的強化使用的貨幣是玩家殺怪獲得的金幣,角色等級強化使用的是玩家的經(jīng)驗。

      裝備功能:裝備功能里主要實現(xiàn)的是穿戴裝備和卸下裝備。

      觸摸管理:游戲中手指與屏幕的觸摸事件被單獨拿出封裝成一個對象,用來管理和維護觸摸事件。

      3.3數(shù)據(jù)庫設(shè)計

      3.3.1 需求分析

      游戲數(shù)據(jù)庫必須存儲玩家所有的信息,包括玩家基本信息以及角色信息。游戲數(shù)據(jù)庫與SQL不同,使用的是Lua語言中的表(table)實現(xiàn)數(shù)據(jù)庫的作用,即存儲數(shù)據(jù)信息。

      玩家基本信息:賬號和密碼。

      角色信息:玩家創(chuàng)建的角色信息,以及游戲開始后角色的信息,包括角色武器、經(jīng)驗、金幣等信息。

      3.3.2 結(jié)構(gòu)設(shè)計

      游戲數(shù)據(jù)庫是一個表(table)UserTable,表內(nèi)套有多個表分別是HEROTABLE、SKILLCOPY、EQUIPTABLE,分別存儲對應(yīng)的數(shù)據(jù)信息。游戲采用引擎封裝的Json類將存儲信息的表轉(zhuǎn)化成Json格式的文件,然后寫入本地路徑下。同樣的也是在該路徑下讀取文件,將文件轉(zhuǎn)化為Lua語言的表,獲取玩家的所有信息。

      4 系統(tǒng)具體實現(xiàn)

      4.1用戶管理功能實現(xiàn)

      1)功能描述:可以實現(xiàn)玩家的注冊和登錄。

      2)實現(xiàn)算法描述:注冊一個賬號基本信息的邏輯處理如下:

      ①填寫賬號和密碼以及確認密碼;

      ②從數(shù)據(jù)庫中查詢該用戶名字在數(shù)據(jù)庫中是否已經(jīng)注冊,若沒有注冊則進行第③步,若已經(jīng)注冊則在屏幕上方提示“該賬號已存在”;

      ③把玩家信息寫入數(shù)據(jù)庫中。

      具體實現(xiàn)為:獲取文本框內(nèi)的內(nèi)容,然后將其加入表中,表以賬號名為key值,密碼和玩家的基本信息為value(后續(xù)會提到)值,并將表編碼json.encode(table)后寫入本地路徑下,完成信息的存儲,具體實現(xiàn)代碼如下。

      4.2游戲數(shù)據(jù)管理功能實現(xiàn)

      1)功能描述:數(shù)據(jù)管理功能是系統(tǒng)在實現(xiàn)各子功能系統(tǒng)所必須要實現(xiàn)的功能,用來記錄存儲玩家的數(shù)據(jù)信息。

      2)實現(xiàn)算法描述:

      ①打開各子功能界面;

      ②實現(xiàn)各子功能,調(diào)用數(shù)據(jù)管理類的接口,將數(shù)據(jù)類PublicData中的用戶表PublicData.UserTable編碼成Json格式的文件;

      ③讀取游戲所在路徑或者目錄,將文件寫入到該路徑或者目錄下。

      4.3關(guān)卡功能實現(xiàn)

      1)功能描述:玩家開始游戲進入主城后,在主城上回顯示九個關(guān)卡,點擊關(guān)卡,進入戰(zhàn)斗場景,戰(zhàn)斗場景中玩家操控英雄砍殺怪物,積累經(jīng)驗和金幣。

      2)實現(xiàn)算法描述:

      ①進入主城界面;

      ②點擊關(guān)卡,從數(shù)據(jù)庫中讀取玩家上次玩到第幾關(guān),玩家此次玩游戲只能進入上次記錄關(guān)卡之前的關(guān)卡,點擊上次記錄之后的關(guān)卡,在屏幕中間會有一個提示框提示信息未解鎖;

      ③進入戰(zhàn)斗場景,玩家操作英雄砍殺怪物,獲取經(jīng)驗和金幣。

      4.4游戲強化功能實現(xiàn)

      游戲強化功能主要分為裝備強化、技能強化、角色等級強化,強化功能類似,這里只介紹技能強化,其他的不再一一描述。

      1)功能描述:玩家開始游戲之后進入戰(zhàn)斗場景砍殺怪物,積累經(jīng)驗和金幣,在強化界面點擊技能強化按鈕,實現(xiàn)強化功能。

      2)實現(xiàn)算法描述:

      ①進入強化界面;

      ②點擊技能按鈕出現(xiàn)技能強化層,點擊技能對應(yīng)的按鈕,判斷玩家當前的金幣是否足夠本次強化所需的金幣,如果足夠則強化,否則在屏幕中間提示金幣不夠,前往副本戰(zhàn)斗;

      ③獲取當前最新表的信息,將其編碼寫入本地路徑下備份。

      4.5裝備功能實現(xiàn)

      1)功能描述:裝備功能主要實現(xiàn)的是裝備的穿戴與卸下:點擊裝備可相應(yīng)的穿上和卸下。

      2)實現(xiàn)算法描述:

      ①進入裝備界面;

      ②點擊裝備界面右側(cè)的裝備列表,獲取裝備,在裝備界面的左側(cè)則顯示已經(jīng)穿上的裝備。

      4.6觸摸管理

      1)功能描述:避免代碼冗余,將所有屏幕觸摸事件封裝成一個接口,在需要的時候調(diào)用接口實現(xiàn)。

      2)實現(xiàn)算法描述:

      ①獲取當前觸摸對象,作為參數(shù)傳入接口

      ②設(shè)置屏幕能接收手機觸發(fā)的單點事件,并加入事件調(diào)度器

      ③設(shè)置單點觸摸事件的回調(diào)函數(shù),并且事件調(diào)度器對傳入的當前對象設(shè)置優(yōu)先級

      5 總結(jié)

      本文通過查看以及對比了許多資料,對RPG游戲進行了了解和關(guān)鍵技術(shù)的學(xué)習(xí),敲定了游戲的設(shè)計框架,分析了游戲所要實現(xiàn)的功能需求,最終確定了游戲的設(shè)計方案,最后利用基于Quick-Cocos2d-x引擎,實現(xiàn)游戲的開發(fā)。

      由于本人知識水平有限,對相關(guān)知識的理解與應(yīng)用存在一些欠缺和差錯,通過游戲的開發(fā)實現(xiàn)也為自己今后的學(xué)習(xí)帶來新的目標。

      參考文獻:

      [1] 李寧.用Cocos2d-x實現(xiàn)射擊類游戲:星際大戰(zhàn)[J].電腦編程技巧與維護,2014(13).

      [2] 錢默.手機游戲設(shè)計趨勢探析[J].藝術(shù)科技,2013(8).

      [3] 陳有英,黃振濤. 基于Cocos2D-X引擎的塔防游戲[J].軟件導(dǎo)刊,2014(8).

      [4] 黃憲清,唐先紅.基于cocos2d-x的游戲設(shè)計與開發(fā)[J].科技風,2015(10).

      [5] 馬超,馬佳琳. 基于Lua動態(tài)腳本語言Cocos2d-x應(yīng)用開發(fā)的技術(shù)研究[J].軟件工程師,2015(8).

      [6] 喻炳,宣榮,徐青平.基于cocos2d-x的手機游戲設(shè)計與實現(xiàn)[J].信息技術(shù)與信息化,2015(8).

      [7] 觸控科技與Imagination合作開發(fā)最新版Cocos2d-x游戲引擎[J].電子設(shè)計工程,2015(7).

      [8] 黃憲清,唐先紅.基于cocos2d-x的游戲設(shè)計與開發(fā)[J].科技風,2015(10).

      猜你喜歡
      手機游戲
      別讓手機游戲“游戲”了你
      都市人(2024年12期)2024-12-31 00:00:00
      關(guān)于“移動互聯(lián)網(wǎng)時代青少年手機游戲沉迷問題研究”的文獻綜述
      山西青年(2021年23期)2021-11-27 21:09:37
      引導(dǎo)小學(xué)生理性對待手機游戲的策略
      基于手機游戲中UI界面的交互設(shè)計研究
      陜西省大學(xué)生手機游戲迷戀度實證分析
      讓手機游戲成為傳統(tǒng)文化的傳播新渠道
      傳媒評論(2018年3期)2018-06-21 08:16:28
      手機游戲?qū)Υ髮W(xué)生的負面影響及對策分析
      在干什么
      淺談手機游戲業(yè)務(wù)發(fā)展策略
      手機游戲推薦
      万载县| 胶南市| 永仁县| 新干县| 井陉县| 五河县| 恭城| 阳泉市| 油尖旺区| 从化市| 满城县| 当雄县| 淳安县| 兴城市| 尼玛县| 无锡市| 温泉县| 烟台市| 山丹县| 东宁县| 美姑县| 永济市| 喜德县| 姚安县| 潞西市| 清新县| 塘沽区| 泰宁县| 荆门市| 加查县| 威宁| 华安县| 越西县| 奇台县| 宣武区| 长武县| 泌阳县| 壶关县| 富民县| 苏尼特右旗| 安阳市|