一種基于iOS平臺的資源配置方法
【專利摘要】本發(fā)明涉及一種基于iOS平臺的資源配置方法,其步驟包括:將界面上掛靠的元素的相關(guān)屬性信息導(dǎo)出為xml格式的資源配置文件,再將資源配置文件上傳至SVN資源庫,并在SVN資源庫中創(chuàng)建單一的資源路徑配置文件<ResPath.xml>;將資源配置文件的資源路徑添加到資源路徑配置文件<ResPath.xml>中。由于在制作和添加資源配置文件時(shí),只需通過單一的資源路徑配置文件<ResPath.xml>形成的資源圖加載包含xml格式的資源配置文件的資源,形成穩(wěn)定的開發(fā)工程架構(gòu),因此游戲的程序開發(fā)人員在添加資源時(shí)不必每次都更改和同步Xcode工程自帶的工程配置文件,只需要根據(jù)設(shè)定好的資源圖使用所需資源,使程序開發(fā)人員從合并工程文件這種無效的重復(fù)工作中解脫出來,大大提升開發(fā)效率。
【專利說明】一種基于iOS平臺的資源配置方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種資源加載方法,具體涉及一種基于iOS平臺的資源配置方法。
【背景技術(shù)】
[0002]iOS平臺是由蘋果公司開發(fā)的手持設(shè)備操作系統(tǒng),是以Darwin為基礎(chǔ)的商業(yè)操作系統(tǒng)。如圖1所示,現(xiàn)有iOS的資源加載方式主要是參照Apple公司提供的示例代碼,將所有策劃、美術(shù)等資源以零散文件的方式添加到工程的Resources文件夾目錄下,其作用在于只允許這個(gè)軟件運(yùn)行在一個(gè)特定的沙盒中,不能干擾其他軟件。這樣在發(fā)布的時(shí)候,Apple公司提供的Xcode開發(fā)工具可以將所有資源整合進(jìn)發(fā)布App專用的ipa文件里,以供游戲運(yùn)行時(shí)加載。
[0003]同時(shí),目前流行的游戲開發(fā)模式大量使用xml文件對用戶界面(UI)、動畫、粒子特效、數(shù)值等游戲必備要素進(jìn)行配置,xml文件簡單方便的特性大大方便了游戲的開發(fā)。如圖2所示,以游戲界面UI資源配置文件的制作和添加為例,由游戲的UI的負(fù)責(zé)人員(通常是美術(shù)或策劃)用界面n編輯器調(diào)制出理想的界面,并將與界面相關(guān)的圖片,動畫,粒子特效等元素的相關(guān)屬性導(dǎo)出為xml格式的資源配置文件,之后上傳至SVN資源庫;各個(gè)模塊的開發(fā)人員各自添加資源進(jìn)入工程配置,完成功能之后提交SVN。這種資源加載方式對于小型、單人規(guī)模的游戲開發(fā)而言非常方便,所有資源可以非??焖俚奶砑雍蛣h除;但是對于較為大型的、團(tuán)隊(duì)合作的游戲開發(fā)來說,這種方式具有不可避免的諸多缺點(diǎn):
[0004]1、iOS平臺的封閉配置方式使得資源的每次添加和刪除都將改變工程文件和架構(gòu),而在團(tuán)隊(duì)合作的游戲開發(fā)模式下多個(gè)開發(fā)人員通過SVN庫共用一個(gè)工程架構(gòu),工程架構(gòu)的穩(wěn)定性是十分必須的。開發(fā)過程中零散資源的頻繁添加和刪除將導(dǎo)致大量的時(shí)間浪費(fèi)在處理工程文件的沖突上,極大地影響開發(fā)進(jìn)度。而且零散的資源在游戲啟動時(shí)會對硬盤文件進(jìn)行頻繁的尋址和讀寫操作,一定程度上影響游戲啟動速度。
[0005]2、目前流行的iOS平臺解析xml文件的工具包括TinyXml、RapidXml等,利用節(jié)點(diǎn)匹配的原理從xml文件生成游戲所需數(shù)據(jù)。在分配節(jié)點(diǎn)和屬性的過程中,將頻繁的使用內(nèi)存的創(chuàng)建和分配(new和allocate)操作以及指針的傳遞操作,這樣當(dāng)較大型的游戲啟動時(shí),多達(dá)數(shù)百甚至上千的xml文件解析和加載將花費(fèi)非常多的時(shí)間。同時(shí),xml簡單明了的特性不但方便了游戲開發(fā)人員,對于惡意破解游戲的人而言這些便利也是同樣的,大量使用xml文件將不可避免的造成游戲的資源泄露。
【發(fā)明內(nèi)容】
[0006]本發(fā)明針對現(xiàn)有iOS平臺開發(fā)和發(fā)布過程中增刪資源時(shí)存在大量沖突,且資源配置過于零散的問題,提出了一種能夠在應(yīng)用軟件開發(fā)過程中快速增刪資源的同時(shí)保證工程文件的穩(wěn)定,以及實(shí)現(xiàn)與應(yīng)用軟件有關(guān)的資源配置文件的快速加載和加密的基于iOS平臺的資源配置方法。
[0007]本發(fā)明的技術(shù)方案如下:[0008]一種基于iOS平臺的資源配置方法,其步驟包括:
[0009]I)首先調(diào)制出理想的界面,同時(shí)將所述界面上掛靠的元素的相關(guān)屬性信息導(dǎo)出為xml格式的UI配置文件,然后將所述UI配置文件及相關(guān)資源上傳至SVN資源庫;
[0010]2)在所述SVN資源庫中創(chuàng)建資源路徑配置文件〈ResPath.xml> ;
toon] 3)將所述n配置文件及相關(guān)資源的資源路徑添加到所述資源路徑配置文件〈ResPath.xml> 中;
[0012]4)在添加資源時(shí),根據(jù)設(shè)定好的資源路徑配置文件〈ResPath.xml>使用所需n配置文件及相關(guān)資源;
[0013]5)添加完資源后,根據(jù)所述n配置文件的屬性規(guī)則,將所述SVN資源庫中的xml格式的UI配置文件進(jìn)行二進(jìn)制轉(zhuǎn)化,生成一個(gè)二進(jìn)制文件;
[0014]6)對所述二進(jìn)制文件進(jìn)行加密,和所述相關(guān)資源統(tǒng)一封裝入iOS工程資源目錄下包含所有資源的數(shù)據(jù)包。
[0015]在解析所述二進(jìn)制文件時(shí),首先使用相應(yīng)的解密算法從數(shù)據(jù)包中解密出字節(jié)流,根據(jù)生成二進(jìn)制文件的寫入規(guī)則,直接在二進(jìn)制文件中獲取的字節(jié)流進(jìn)行一次從前向后的遍歷,在遍歷途中根據(jù)數(shù)據(jù)類型標(biāo)記截取數(shù)據(jù)類型相應(yīng)的字節(jié)長度;
[0016]強(qiáng)制將截取出的字節(jié)轉(zhuǎn)化為相應(yīng)數(shù)據(jù)類型的指針,用所述指針按照寫入的步驟逐個(gè)讀出所述n配置文件。
[0017]所述資源路徑配置文件〈ResPath.xml>為一個(gè)包含基本路徑和眾多下行路徑的xml文件。
[0018]所述步驟5)中,二進(jìn)制轉(zhuǎn)化的過程包括舍棄xml格式的UI配置文件中冗余的尖括號〈> 對齊和屬性描述,直接以二進(jìn)制字節(jié)流的方式寫入二進(jìn)制文件。
[0019]所述相關(guān)資源包括圖片,粒子,骨骼動畫和/或文本。
[0020]本發(fā)明的技術(shù)效果如下:
[0021]本發(fā)明的一種基于iOS平臺的資源配置方法,其步驟包括:將界面上掛靠的元素的相關(guān)屬性信息導(dǎo)出為xml格式的UI配置文件,再將UI配置文件上傳至SVN資源庫,并在SVN資源庫中創(chuàng)建單一的資源路徑配置文件〈ResPath.xml> ;將UI配置文件的資源路徑添加到資源路徑配置文件〈ResPath.xml>中。由于在制作和添加UI配置文件時(shí),只需通過單一的資源路徑配置文件〈ResPath.xml>形成的資源圖加載包含xml格式的UI配置文件的資源,形成穩(wěn)定的開發(fā)工程架構(gòu),因此游戲的程序開發(fā)人員在添加資源時(shí)不必每次都更改和同步Xcode工程自帶的工程配置文件,只需要根據(jù)設(shè)定好的資源圖使用所需資源,使程序開發(fā)人員從合并工程文件這種無效的重復(fù)工作中解脫出來,大大提升開發(fā)效率。
[0022]在添加完資源后,根據(jù)UI配置文件的屬性規(guī)則,將SVN資源庫中的xml格式的UI配置文件進(jìn)行二進(jìn)制轉(zhuǎn)化,生成一個(gè)二進(jìn)制文件;并對二進(jìn)制文件進(jìn)行加密。同xml格式的UI配置文件進(jìn)行解析相比,二進(jìn)制文件解析不需要進(jìn)行額外的內(nèi)存分配,也不需要對xml文件中的node (節(jié)點(diǎn))和property (屬性)反復(fù)匹配,而是根據(jù)生成二進(jìn)制文件的寫入規(guī)貝U,直接在二進(jìn)制文件中獲取的字節(jié)流進(jìn)行一次從前向后的遍歷,因此能夠提高游戲啟動效率。
[0023]由于對二進(jìn)制文件進(jìn)行加密,統(tǒng)一封入包含所有資源的資源包,新生成的二進(jìn)制文件將完全失去可讀性,唯有游戲程序?qū)S玫慕獯a模塊才能讀取和使用,游戲的破解難度將大大提聞。
【專利附圖】
【附圖說明】
[0024]圖1是現(xiàn)有技術(shù)中添加和發(fā)布應(yīng)用軟件的過程示意圖
[0025]圖2是現(xiàn)有技術(shù)中添加xml格式的UI配置文件及相關(guān)資源的過程示意圖
[0026]圖3是本發(fā)明中添加xml格式的UI配置文件及相關(guān)資源的過程示意圖
[0027]圖4是本發(fā)明中將SVN資源庫中xml格式的W配置文件進(jìn)行二進(jìn)制轉(zhuǎn)化的過程示意圖
【具體實(shí)施方式】
[0028]下面結(jié)合附圖對本發(fā)明進(jìn)行說明。
[0029]在以下描述中,一些具體細(xì)節(jié)為計(jì)算機(jī)領(lǐng)域的技術(shù)人員提供對本發(fā)明的整體理解。在實(shí)施例中,以示意圖或者框圖的形式表明實(shí)現(xiàn)具體功能的元件,以便突出技術(shù)重點(diǎn),而不會在不必要的細(xì)節(jié)方面模糊本發(fā)明。比如,由于本領(lǐng)域普通技術(shù)人員的理解范圍中涵蓋了關(guān)于網(wǎng)絡(luò)通信、電磁信號指令技術(shù)、用戶接口或輸入/輸出技術(shù)等本領(lǐng)域中公開的、常識性的細(xì)節(jié),因而在實(shí)施例中最大程度上省略了上述技術(shù)細(xì)節(jié),而不認(rèn)為這些細(xì)節(jié)是獲得本發(fā)明完整技術(shù)方案所必須的特征。
[0030]如圖3所示,以開發(fā)階段中游戲界面UI資源配置文件的制作和添加為例,本發(fā)明的基于iOS平臺資源配置方法的步驟包括:
[0031]I)使用界面編輯器調(diào)制出理想的界面,同時(shí)將界面上掛靠的圖片,動畫,粒子特效等元素的相關(guān)屬性信息(包括位`置,大小,存在時(shí)限等)導(dǎo)出為xml格式的n配置文件,然后將n配置文件及相關(guān)資源(除n配置`文件外,還有圖片,粒子,骨骼動畫,文本等其他資源。)上傳至SVN資源庫;
[0032]2)在SVN資源庫中創(chuàng)建包含所有資源路徑的資源路徑配置文件〈ResPath.xml> ;
[0033]3)將UI配置文件及相關(guān)資源的資源路徑添加到資源路徑配置文件〈ResPath.xml>中,其中資源路徑配置文件〈ResPath.xml>是一個(gè)包含基本路徑和眾多下行路徑的xml文件,使用Attribute節(jié)點(diǎn)書寫,部分內(nèi)容如下:
【權(quán)利要求】
1.一種基于ios平臺的資源配置方法,其步驟包括: 1)首先調(diào)制出理想的界面,同時(shí)將所述界面上掛靠的元素的相關(guān)屬性信息導(dǎo)出為xml格式的n配置文件,然后將所述n配置文件及相關(guān)資源上傳至SVN資源庫; 2)在所述SVN資源庫中創(chuàng)建資源路徑配置文件〈ResPath.xml> ; 3)將所述n配置文件及相關(guān)資源的資源路徑添加到所述資源路徑配置文件〈ResPath.xml> 中; 4)在添加資源時(shí),根據(jù)設(shè)定好的資源路徑配置文件〈ResPath.xml>使用所需W配置文件及相關(guān)資源; 5)添加完資源后,根據(jù)所述n配置文件的屬性規(guī)則,將所述SVN資源庫中的xml格式的UI配置文件進(jìn)行二進(jìn)制轉(zhuǎn)化,生成一個(gè)二進(jìn)制文件; 6)對所述二進(jìn)制文件進(jìn)行加密,和所述相關(guān)資源統(tǒng)一封裝入iOS工程資源目錄下包含所有資源的數(shù)據(jù)包。
2.如權(quán)利要求1所述的一種基于iOS平臺的資源配置方法,其特征在于:在解析所述二進(jìn)制文件時(shí),首先使用相應(yīng)的解密算法從數(shù)據(jù)包中解密出字節(jié)流,根據(jù)生成二進(jìn)制文件的寫入規(guī)則,直接在二進(jìn)制文件中獲取的字節(jié)流進(jìn)行一次從前向后的遍歷,在遍歷途中根據(jù)數(shù)據(jù)類型標(biāo)記截取數(shù)據(jù)類型相應(yīng)的字節(jié)長度; 強(qiáng)制將截取出的字節(jié)轉(zhuǎn)化為相應(yīng)數(shù)據(jù)類型的指針,用所述指針按照寫入的步驟逐個(gè)讀出所述n配置文件。
3.如權(quán)利要求1所述的一種基于iOS平臺的資源配置方法,其特征在于:所述資源路徑配置文件〈ResPath.xml>為一個(gè)包含基本路徑和眾多下行路徑的xml文件。
4.如權(quán)利要求1所述的一種基于iOS平臺的資源配置方法,其特征在于:所述步驟5)中,二進(jìn)制轉(zhuǎn)化的過程包括舍棄xml格式的n配置文件中冗余的尖括號〈> 對齊和屬性描述,直接以二進(jìn)制字節(jié)流的方式寫入二進(jìn)制文件。
5.如權(quán)利要求1所述的一種基于iOS平臺的資源配置方法,其特征在于:所述相關(guān)資源包括圖片,粒子,骨骼動畫和/或文本。
【文檔編號】G06F9/44GK103744673SQ201410004987
【公開日】2014年4月23日 申請日期:2014年1月6日 優(yōu)先權(quán)日:2014年1月6日
【發(fā)明者】郭廣偉, 趙佳 申請人:北京樂動卓越科技有限公司