免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Unity和Lua交互

用lua就表示項(xiàng)目用到了熱更新,通常每次熱更新都會(huì)從服務(wù)器獲取最新的lua腳本放到Android/ios設(shè)備的本地目錄下,但是lua應(yīng)該放到哪個(gè)目錄下呢,這里就先說說lua里面的路徑問題


1、不可以放到Resources文件夾下,因?yàn)闊o法找到其在設(shè)備下的位置,Resources下的東西是由unity來管理的,使用的時(shí)候通過Resources.load/loadAll來加載,而且后綴為lua的文件,無法通過Resources來加載


2、不可以放到StreamingAssets文件夾,因?yàn)樵谠O(shè)備下StreamingAssets文件夾里面的資源只能讀,不能寫,當(dāng)我們熱更新最新的資源的時(shí)候,是不好操作的!而且StreamingAssets文件夾下的東西最終在生成apk的時(shí)候會(huì)被unity打包進(jìn)一個(gè)叫pkg.apk的apk安裝包里,解壓這個(gè)pkg.apk可以看到StreamingAssets文件夾下的資源,pkg.apk是存在于應(yīng)用的安裝目錄下的,是應(yīng)用的資源文件,unity中設(shè)置應(yīng)用的安裝目錄是由設(shè)置PlayerSettings下的Install Location來設(shè)置的,Install Location設(shè)置為Perfer External(優(yōu)先安裝到外部設(shè)備,也就是sdcard),安裝此包,用文件查看器查看才能看到此應(yīng)用的安裝目錄(通常在/mnt/asec目錄下),但是沒有sdcard的手機(jī)貌似即使選項(xiàng)設(shè)置為了Perfer External也是看不到此應(yīng)用的相關(guān)安裝目錄的,通常如下:

  


com.zwh.p1是我的包名,安裝目錄的名稱通常是(應(yīng)用的包名-數(shù)字),此安裝目錄默認(rèn)是不能刪除的,如果通過第三方軟件強(qiáng)制刪除,那么相對應(yīng)的應(yīng)用就會(huì)再也用不起來了(應(yīng)用的數(shù)據(jù)文件被破壞),


如果程序就是安裝到外部,那么都是能看到他的安裝目錄的,其他應(yīng)用也是如此:



如果Install Location設(shè)置為Force Internal(強(qiáng)制安裝到手機(jī)內(nèi)存),那么是看不到程序的安裝文件的!


如何訪問StreamingAssets文件下的資源:



        string GetStreamingAssetsPath()        {              return             #if UNITY_ANDROID                   //"jar:file://" + Application.dataPath + "!/assets/";                  UnityEngine.Application.streamingAssetsPath+"/";            #elif UNITY_IPHONE              Application.dataPath + "/Raw/";              #elif UNITY_STANDALONE_WIN || UNITY_EDITOR              "file://" + Application.dataPath + "/StreamingAssets/";              #else              string.Empty;              #endif         }



WWW www=new WWW("file://c:/a1.lua");//使用上面的方式加載c盤的lua文件時(shí),是加載不出來的WWW www=new WWW("file:///c:/a1.lua");//加個(gè)斜桿/ 即可!


當(dāng)我把一個(gè)lua文件放到unity下StreamingAssets文件夾里,然后通過如上代碼去訪問這個(gè)lua文件,打印訪問的路徑如下:



路徑 = jar:file:///mnt/asec/com.zwh.p1-1/pkg.apk!/assets/mi.lua


由此可見,StreamingAssets文件夾下的資源被打包進(jìn)了pkg.apk這個(gè)安裝包里去了!


3、先看看unity中幾個(gè)路徑有關(guān)的類,在android平臺(tái)輸出的路徑為什么



Debug.Log ("temporaryCachePath = " + UnityEngine.Application.temporaryCachePath);   //temporaryCachePath = /storage/sdcard0/Android/data/com.zwh.p1/cacheDebug.Log ("dataPath = " + UnityEngine.Application.dataPath);                       //dataPath = /mnt/asec/com.zwh.p1-2/pkg.apkDebug.Log ("persistentDataPath = " + UnityEngine.Application.persistentDataPath);   //persistentDataPath = /storage/sdcard0/Android/data/com.zwh.p1/filesDebug.Log ("streamingAssetsPath = " + UnityEngine.Application.streamingAssetsPath); //streamingAssetsPath = jar:file:///mnt/asec/com.zwh.p1-2/pkg.apk!/assets


可以看出dataPath和streamingAssetsPath指的是程序安裝的位置,而temporaryCachePath和persistentDataPath指的則是sdcard的位置,所以可以選擇這兩個(gè)路徑作為存放lua文件的地方,


前提是unity出包的時(shí)候,要設(shè)置Playersettings下Write Access為External(SDCard),不然這兩個(gè)路徑的位置是不一樣的!


 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Unity3D研究院之Android全自動(dòng)打包生成apk(六十九) | 雨松MOMO程序研究院
Unity3D各平臺(tái)Application.xxxPath的路徑
[unity3d]保存文件到本地and加載本地文件
Unity將數(shù)據(jù)寫入文件和從文件中讀取數(shù)據(jù)
細(xì)說Unity3D(一)動(dòng)態(tài)讀取外部文件
關(guān)于Unity中文件讀取
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服