關於 unity 中序列化檔案移動端的儲存和讀取

2021-09-29 05:24:39 字數 905 閱讀 5420

網上一蒐會有很多介紹unity各個路徑讀取方式。不盡相同,但是很少有介紹如何載入序列化檔案bin檔案的。因為我這裡吧配置檔案讀取後儲存為bin檔案放到streamingassets下,一塊打包,在pc端直接讀取即可,沒什麼可說的,但是到移動端,讀取方式等導致無法直接讀取,我採用的是copy到永久路徑下,這樣只需要在包體執行的時候copy一下即可。之後就可以直接讀取。

首先是對於移動端的copy操作:

#if unity_android && !unity_editor //拷貝

if (!directory.exists(folderpath))

debug.log("開始拷貝");

string frompath = tablepath + filesname;

string topath = folderpath + filesname;

//移動端先將檔案copy到外部路徑

debug.log("源路徑" + frompath);

if (!file.exists(topath))

else

}} else

}#endif

接下來是讀取的操作:

string filepath =folderpath + filesnames[i];

debug.log("檔案讀取路徑:" + filepath);

if (!file .exists (filepath))

filestream fs = new filestream(filepath, filemode.open);

trycatch (exception ex)

這裡也是對應移動端的,讀取到資料後的操作沒有放。這裡讀的是bin檔案,如果是其他檔案,原來一樣的,也可以使用file讀文字等

Unity 序列化和反序列化

1 序列化就是將物件儲存在檔案中,在檢視面板看到的就是成功序列化的內容 與序列化相關的常用的關鍵字有serializefield,hideininspector,nonserialized,serializable並可以組合使用。serializefield 表示變數可被序列化。眾所周知,公有變數可...

Unity 的序列化

經過 serialize 序列化 的 class 或 attribute 的值會被儲存成二進位制檔案,在 unity 中可序列化的 attribute 將在 inspector 顯示出來 class 與 public attribute 都是被視為可序列化的 private attribute 被視...

unity中序列化自身節點

普通的序列化字需要用 serializedfield 屬性修飾某個類 結構體或者物件即可 當需要自身序列化自身的時候,比如做乙個節點編輯器,自身節點持有父節點和一些子節點,這個時候就不能只用 serializedfield 屬性修飾本身這個類,這樣會導致報錯,主要是因為自身序列化自身會導致死迴圈的效...