一種通用的游戲界面行為控制系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種通用的游戲界面行為控制系統(tǒng),屬于計(jì)算機(jī)游戲領(lǐng)域。
【背景技術(shù)】
[0002]游戲界面在游戲中有著舉足輕重的地位,它與用戶(玩家)進(jìn)行直接的交互,同時(shí)也修改非常頻繁。當(dāng)游戲程序有新玩法的時(shí)候,或者系統(tǒng)的需求發(fā)生變化,往往免不了要修改界面。游戲的界面設(shè)計(jì),需要耗費(fèi)開發(fā)人員大量的時(shí)間與精力。例如,使用Unity游戲引擎設(shè)計(jì)一個(gè)裝備系統(tǒng),進(jìn)行步驟如下面所示:
1)準(zhǔn)備美術(shù)相關(guān)的資源,制作成圖集;
2)使用在unity,拼接界面,保存成prefab文件;
3)使用c#語言加載prefab文件,并且實(shí)現(xiàn)一些按鈕的響應(yīng)事件。
[0003]上述的步驟只能實(shí)現(xiàn)一些基礎(chǔ)的界面行為,如果需要實(shí)現(xiàn)更多附加界面行為時(shí),則需要開發(fā)人員編寫更為復(fù)雜的界面代碼,界面行為實(shí)例如下所示:
1)當(dāng)打開背包界面時(shí),自動關(guān)閉玩家換裝界面;
2)當(dāng)打開某一界面時(shí),另外一個(gè)指定界面同時(shí)打開;
3)當(dāng)在特定場景時(shí),一些指定的打開的界面關(guān)閉;
4)對于某些界面,可以使用快捷鍵進(jìn)行打開和關(guān)閉,比如“ESC”關(guān)閉界面;
5)對于某些特定的界面,如模態(tài),打開時(shí)阻止禁止鼠標(biāo)和鍵盤輸入信息;
6)對于某些界面,當(dāng)打開和關(guān)閉時(shí)需要提供一些語音提示;
7)當(dāng)有一些打開的界面,然后點(diǎn)擊背景時(shí),界面自動關(guān)閉;
8)對于一些打開的界面,當(dāng)玩家行走一段時(shí)間關(guān)閉;
9)一些界面一打開時(shí),出現(xiàn)在屏幕的指定的角落;
10)還有一些界面需要漸隱打開。
[0004]上述只是一部分例子,在實(shí)際開發(fā)過程中界面需要的附加界面可能會更多、更加復(fù)雜,這樣就需要開發(fā)人員耗費(fèi)大量重復(fù)的勞動,造成了低下的效率和更容易觸發(fā)的BUG。因此一套簡單、易用、靈活的界面行為開發(fā)系統(tǒng)可以極大的提高游戲開發(fā)效率和降低游戲bug的產(chǎn)生。
【發(fā)明內(nèi)容】
[0005]針對現(xiàn)有技術(shù)低下的開發(fā)效率和更容易觸發(fā)BUG的缺陷,本發(fā)明提供了一種通用的游戲界面行為控制系統(tǒng),他具有簡單、易用、靈活等特點(diǎn),使游戲界面開發(fā)變得簡單和高效。
[0006]本發(fā)明以Lua腳本語言實(shí)現(xiàn)技術(shù)支持。Lua由標(biāo)準(zhǔn)C編寫而成,代碼簡潔優(yōu)美,幾乎在所有操作系統(tǒng)和平臺上都可以編譯,運(yùn)行。同時(shí)Lua是解釋性的語言,修改后便可以執(zhí)行,無須編譯。
[0007]本發(fā)明的技術(shù)方案包括一種通用的界面行為控制系統(tǒng),該系統(tǒng)包括:界面行為描述模塊,提供存儲和可編輯的界面屬性和界面行為有關(guān)數(shù)據(jù);界面配置文件生成器,將界面行為描述模塊的界面屬性和界面行為有關(guān)數(shù)據(jù)參數(shù)化,并封裝成配置文件;界面對象加載器,用于創(chuàng)建新的界面對象,加載和存儲數(shù)據(jù)資源,解析配置文件;界面數(shù)據(jù)處理器,用于對數(shù)據(jù)資源進(jìn)行標(biāo)識和分類,記錄相關(guān)界面行為;界面管理器,用于執(zhí)行所有界面行為,進(jìn)而控制所有界面進(jìn)行打開、隱藏和分層顯示。
[0008]優(yōu)選地,所述的界面行為描述模塊包括:存儲模塊,使用可視化、可編輯的數(shù)據(jù)存儲技術(shù)存儲數(shù)游戲界面屬性和界面行為信息;編輯模塊,使用面向用戶的可編輯的操作界面編輯游戲界面屬性和界面行為信息。
[0009]進(jìn)一步,所述的界面配置文件生成器包括:封裝模塊,用于將界面行為描述模塊參數(shù)化,對參數(shù)化后的行為描述模塊的數(shù)據(jù)進(jìn)行封裝,使封裝后的行為描述模塊的數(shù)據(jù)成為能被腳本解析器解析的配置文件。
[0010]進(jìn)一步,所述的對象加載器包括:數(shù)據(jù)加載模塊,用于對包含配置文件的數(shù)據(jù)文件進(jìn)行預(yù)處理,使配置文件轉(zhuǎn)換為數(shù)據(jù)流;對象創(chuàng)建模塊,用于創(chuàng)建包含新的游戲界面屬性和界面行為的界面對象;數(shù)據(jù)存儲模塊,用于存儲包含配置文件的數(shù)據(jù)資源、解析后的界面屬性和界面行為信息;文件解析模塊,調(diào)用游戲程序的腳本解析器對預(yù)處理的數(shù)據(jù)資源文件進(jìn)行解析,并且在解析的界面行為與相應(yīng)的應(yīng)用程序編程接口之間建立連接。
[0011]進(jìn)一步,在一個(gè)優(yōu)選的實(shí)施方案中,所述的對象加載器的對象創(chuàng)建模塊進(jìn)一步配置為:首先,在界面行為描述模塊創(chuàng)建新的界面屬性和界面行為有關(guān)的數(shù)據(jù)資源;然后,將資源數(shù)據(jù)傳遞給界面配置文件生成器,由界面配置文件生成器將包含新的界面屬性和界面行為信息的數(shù)據(jù)資源封裝成配置文件;最后,對象創(chuàng)建模塊接收配置文件并將其解析為新的界面對象。
[0012]進(jìn)一步,在一個(gè)優(yōu)選的實(shí)施方案中,所述的數(shù)據(jù)資源包括:Lua配置文件、通用接口函數(shù)、界面屬性和界面行為信息。
[0013]進(jìn)一步,所述的界面管理器包括:記錄模塊,用于記錄界面行為信息,對數(shù)據(jù)資源進(jìn)行分類識別和管理,對配置文件信息進(jìn)行整理和記錄;
進(jìn)一步,所述的界面行為管理模塊包括:界面行為管理模塊,用于執(zhí)行所有游戲界面發(fā)送的打開、隱藏和運(yùn)行的請求,并且在打開、隱藏和運(yùn)行界面時(shí)都執(zhí)行對界面管理器的處理函數(shù)的調(diào)用;界面分層模塊,用于將所有游戲界面劃分為多個(gè)界面層,使每個(gè)界面層都具有特定的類型和場景元素,同時(shí)將一個(gè)或多個(gè)界面分類到不同的界面層。
[0014]本發(fā)明的有益效果為:將資源、邏輯、數(shù)據(jù)分離,結(jié)構(gòu)上易于理解和維護(hù);整個(gè)游戲的界面,都列在一張表,也易于查看和修改;添加和修改界面的行為更加方便。理解了表,針對表各項(xiàng)的意義,直接修改就行,策劃美術(shù)也可以修改。解放了程序的勞動力,讓專業(yè)人士做專門的事,有利于提高界面的品質(zhì);在實(shí)際的游戲開發(fā)中,由于抽取了通用的接口,不再需要每個(gè)單獨(dú)界面,編寫界面的行為,降低邏輯的復(fù)雜度,減少了代碼的重復(fù)性,提高了開發(fā)的效率。
【附圖說明】
[0015]圖1所示為根據(jù)本發(fā)明的通用游戲界面行為控制系統(tǒng)的框圖;
圖2所示為根據(jù)本發(fā)明的通用游戲界面行為控制系統(tǒng)的界面行為描述表; 圖3所示為根據(jù)本發(fā)明的通用游戲界面行為控制系統(tǒng)的界面行為實(shí)現(xiàn)過程;
圖4所示為根據(jù)本發(fā)明的通用游戲界面行為控制系統(tǒng)的函數(shù)處理表;
圖5所示為根據(jù)本發(fā)明的通用游戲界面行為控制系統(tǒng)的用戶配置流程。
【具體實(shí)施方式】
[0016]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述。本發(fā)明的游戲界面行為控制系統(tǒng)適用于單機(jī)游戲、手機(jī)游戲、網(wǎng)頁游戲等游戲的開發(fā),尤其適用于在控制角色扮演類游戲中實(shí)現(xiàn)的游戲界面行為的處理。
[0017]圖1所示為根據(jù)本發(fā)明實(shí)施例的游戲界面行為控制系統(tǒng)的總體框圖,該系統(tǒng)結(jié)構(gòu)包括:界面行為描述模塊、界面配置文件生成器、界面對象加載器、界面數(shù)據(jù)管理器、界面管理器。其中,界面行為描述模塊用于存儲界面屬性和界面行為,并向用戶提供自定義編輯的界面。界面配置文件生成器用于將行為模塊中的數(shù)據(jù)進(jìn)行參數(shù)化然后封裝成配置文件傳遞給界面對象加載器。對象加載器用于解析配置文件,加載資源數(shù)據(jù),創(chuàng)建新的行為對象。界面數(shù)據(jù)管理器則存儲用于對數(shù)據(jù)資源進(jìn)行分類標(biāo)識,存儲當(dāng)前的界面行為。界面管理器管理、分類所有的界面。
[0018]圖2所示為根據(jù)本發(fā)明實(shí)施例的游戲界面行為控制系統(tǒng)的一種界面行為描述表,該圖只是列舉了部分的界面屬性和界面行為。該描述表包括所有界面的屬性以及界面行為。其中A、B列分別代表界面屬性和這些界面屬性在描述表中的數(shù)據(jù)類型,Cl至C5表示得是這些界面行為的數(shù)據(jù),這些數(shù)據(jù)是對用戶開放的,用戶根據(jù)需求可以直接或者通過編輯界面編輯其中的數(shù)據(jù)。
[0019]圖3所示為根據(jù)本發(fā)明實(shí)施例的游戲界面行為控制系統(tǒng)的一次用戶創(chuàng)建界面行為的簡要過程,該創(chuàng)建過程包括:首先,用戶根據(jù)需求修改界面行為描述表的內(nèi)容,然后將表傳遞給界面配置文件生成器,界面配置文件生成器將表進(jìn)行參數(shù)化,如下所示:
[〃HeroPropMain〃] = {
[〃CheckRange〃] = false,
[〃Desc〃]= 〃主角屬性〃,
[〃ESC〃] = true,
[〃IsClickHide〃] = false,
[〃IsMulti〃] = true,
["Layer"] = 4,
[〃LevelLimit〃] = I,
[〃Locat1n〃] = A,
["ModuleName"]= 〃 角色",
[〃Name〃] = 〃HeroPropMain〃,
["OffsetPos"] = {0,0,},
["Path"] = /