大家都知道,做為游戲開(kāi)發(fā)贴铜,現(xiàn)在公司肯定會(huì)問(wèn)你會(huì)不會(huì)LUA,會(huì)不會(huì)熱更新粪摘,等。直入主題哈绍坝,今天給大家分享一下游戲中MD5校驗(yàn)和資源代碼熱更徘意。當(dāng)然只是從服務(wù)器把資源代碼更新到本地,并不會(huì)給大家講解lua,因?yàn)橐齺?lái)嘛轩褐,一下也講解那么多也消化不了椎咧,那就期待,開(kāi)始吧把介!
首先勤讽,我們開(kāi)發(fā)引擎是Unity,Windows平臺(tái),用的服務(wù)器為阿里云拗踢,在上面布置了TomCat做為我們的資源服務(wù)器脚牍。
先來(lái)看一下我們的資源,在我們電腦上創(chuàng)建一個(gè)Resources文件夾巢墅,里面放我們的資源诸狭,
這時(shí),我做了一個(gè)md5工具砂缩,發(fā)布出來(lái)了作谚,有需要的可以找我哦(這個(gè)不是免費(fèi)的午餐)!不多說(shuō)了如圖
我們運(yùn)行這個(gè)md5工具庵芭,如下
選擇我們的Resources文件夾妹懒,然后點(diǎn)擊生成,會(huì)生產(chǎn)一個(gè)校驗(yàn)文本双吆,會(huì)讓你選擇生產(chǎn)目錄如下
我們還選擇Resources文件夾下眨唬,然后點(diǎn)擊保存会前,如下
這時(shí),我們校驗(yàn)文本就生成了匾竿,我們來(lái)看一下
?接下來(lái)瓦宜,我們把我們的資源文件拷貝到我們的服務(wù)器啦。
打開(kāi)我們的阿里云服務(wù)器岭妖,找到我們安裝的的tomcat文件夾下webapps下Root文件夾临庇,把我們的Resources文件夾,拷貝過(guò)來(lái)昵慌,如下
這時(shí)我們運(yùn)行我們的Tomcat假夺,如下
服務(wù)器,這面的工作就做好了斋攀,接下來(lái)已卷,就到重點(diǎn)了,在Unity里編寫我們的更新校驗(yàn)代碼啦淳蔼。
我們創(chuàng)建一個(gè)檢查更新的場(chǎng)景叫做UpdateCheck,創(chuàng)建個(gè)空物體CheckDataUpdate,當(dāng)然要?jiǎng)?chuàng)建個(gè)c#腳本掛在上面了哦侧蘸,叫做ResUpdate,如下
鹉梨,接下來(lái)看我們的代碼讳癌,講解一下原理呀,就是我們客戶端的md5校驗(yàn)文本和服務(wù)器上的校驗(yàn)文本對(duì)比呀俯画,本地沒(méi)有的更新析桥,有的不一致的則把本地的替換成從服務(wù)器下載下來(lái)的。嗯 就這么簡(jiǎn)單艰垂。
手機(jī)(Android)的我們把更下的資源放在持久化目錄了,就是Application.persistentDataPath,可讀可寫埋虹,PC版本就放在Resource文件夾下了貼代碼
更新對(duì)比的文本叫version.txt,第一次猜憎,本地沒(méi)有會(huì)自動(dòng)從服務(wù)器全更的哦。我們的服務(wù)器地址搔课,跟下的本地地址胰柑,要更新文本名稱保存在List集合里。
進(jìn)行檢測(cè)了爬泥,里面我做了一些網(wǎng)絡(luò)的東西柬讨,斷網(wǎng)提示和短線重連一類的,大家可以忽略袍啡。
第一次踩官,更新進(jìn)行對(duì)比,本地文件加載用的www,服務(wù)請(qǐng)求用的UnityWebRequest
繼續(xù)貼代碼
貼完了境输,接著我們運(yùn)行一下看看蔗牡,
提示資源在更新了颖系,并且我打印了更新文件的名字,這時(shí)我們可以做進(jìn)度條哦辩越,有興趣的嘁扼。
有需要幫助的可以加我扣扣:95106197(因?yàn)楣ぷ鞅容^忙,不是免費(fèi)的晚餐哦)黔攒,驗(yàn)證附加:MD5資源熱更