日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

U3D学习13-数据存储

發布時間:2023/10/11 综合教程 119 老码农
生活随笔 收集整理的這篇文章主要介紹了 U3D学习13-数据存储 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、SQLLite
要注意Plguins的三個dll資源
2、利用ScriptableObject將數據存儲為資源(小規模數據)
using UnityEngine;
using System.Collections;
using UnityEditor;
 
public class ItemSet : ScriptableObject {
 
    #if UNITY_EDITOR  
    [UnityEditor.MenuItem ("innyo/Create item set")]  
    public static void CreateItemSet ()  
    {  
        var objSet = CreateInstance<ItemSet> ();  
        string savePath = EditorUtility.SaveFilePanel (  
            "save",  
            "Assets/",  
            "ItemAsset",  
            "asset"  
        );  
        if (savePath != "") {  
            savePath ="Assets/"+ savePath.Replace (Application.dataPath, "");
            UnityEditor.AssetDatabase.CreateAsset (objSet, savePath);  
            UnityEditor.AssetDatabase.SaveAssets ();  
        }  
    }  
    #endif  
 
    public Item[] items; 
}
3、數據庫
//各平臺下數據庫存儲的絕對路徑(通用)
        //PC:sql = new SQLiteHelper("data source=" + Application.dataPath + "/sqlite4unity.db");
        //Mac:sql = new SQLiteHelper("data source=" + Application.dataPath + "/sqlite4unity.db");
        //Android:sql = new SQLiteHelper("URI=file:" + Application.persistentDataPath + "/sqlite4unity.db");
        //iOS:sql = new SQLiteHelper("data source=" + Application.persistentDataPath + "/sqlite4unity.db");
 
        //PC平臺下的相對路徑
        //sql = new SQLiteHelper("data source="sqlite4unity.db");
        //編輯器:Assets/sqlite4unity.db
        //編譯后:和AppName.exe同級的目錄下,這里比較奇葩
        //當然可以用更隨意的方式sql = new SQLiteHelper("data source="D://SQLite//sqlite4unity.db");
        //確保路徑存在即可否則會發生錯誤
 
        //如果是事先創建了一份數據庫
        //可以將這個數據庫放置在StreamingAssets目錄下然后再拷貝到
        //Application.persistentDataPath + "/sqlite4unity.db"路徑即可
 
3.1、在Unity3D編輯器下生成數據庫文件(.db)默認位于和Assets目錄同級的位置,即項目的工程文件夾中。我們可以通過修改路徑在改變數據庫文件的存儲位置,具體來講: 
Windows平臺:data source=Application.dataPath/數據庫名稱.db 
IOS平臺:data source=Application.persistentDataPath/數據庫名稱.db 
Android平臺:URL=file:Application.persistentDataPath/數據庫名稱.db(我想說Android平臺就是個奇葩,搞什么特殊化嘛)
 
3.2、確保Unity3D編輯器中的.NET版本和MonoDevelop中的.NET版本都為2.0版本,在Unity3D中打包導出的程序可能不會保留數據庫文件,因此需要手動將數據庫文件拷貝到相應的位置,當然更加合理的方案是將數據庫文件存放到StreamingAssets文件夾下,然后在第一次加載游戲的時候將數據庫文件復制到對應平臺上的存放位置。
 
3。3、在使用InsertValues方法時請參考SQLite中字段類型與C#中數據類型的對應關系,博主目前測試了int類型和string類型都沒有什么問題,更多類型的數據請大家自行測試然后告訴博主測試的結果,如果大家有興趣擴展這個輔助類的話可以自行去擴展哦,嘿嘿!
 

總結

以上是生活随笔為你收集整理的U3D学习13-数据存储的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。