jyhlearning

导航

持久化数据

使用PlayerPrefs

PlayerPrefs.SetString(str:sring, str1:string);//保存字符串,以键值对的形式存储数据
PlayerPrefs.SetInt(str:string, num:int);//保存整型
PlayerPrefs.SetFloat(str:string, num:float);//保存浮点型
PlayerPrefs.DeleteAll();//将所有的键值对都删除
PlayerPref.DeleteKey();//删除某一项数据,参数为数据名称
HashKey();//判断是否有这个数据,参数为数据名称

PlayerPrefs.GetString(str:sring);//得到字符串,以键值对的形式存储数据
PlayerPrefs.GetInt(str:string);//得到整型
PlayerPrefs.GetFloat(str:string);//得到浮点型

创建文件

    void CreateFile(string path, string name, string info)
    {
        StreamWriter sw;
        FileInfo t = new FileInfo(path + "//" + name);
        if (!t.Exists)
            sw = t.CreateText();//不存在文件创建文件
        else sw = t.AppendText();//文件存在的话打开文件
        sw.WriteLine(info);//以行的形式写入文件
        sw.Close();//关闭流
        sw.Dispose();//销毁流
    }

读取文件

    ArrayList LoadFile(string path, string name)
    {
        StreamReader sr = null;
        try
        {
            sr = File.OpenText(path + "/" +name);
        }catch(Exception e)//没有找到文件
        {
            return null;
        }
        string line;
        ArrayList arrayList = new ArrayList();
        while((line = sr.ReadLine()) != null)
        {
            arrayList.Add(line);//逐行读取并将内容存入数组链表中
        }
        sr.Close();
        sr.Dispose();
        return arrayList;
    }

从Assert中加载数据

需要引入UnityEditor

AssetDatabase.LoadAssetAtPath("Assets/texture/C#1.png", typeof(Texture2D));//第一个参数是路径,第二个参数是文件的类型

在Assert中创建文件

需要引入UnityEditor

 AssetDatabase.CreateAsset(mat, "Assets/mat.mat");//第一个参数是要保存的数据,第二个是要保存的路径。

截图

需要引用UnityEngine.SceneManagement

ScreenCapture.CaptureScreenshot(Application.dataPath + "//p1.png");//参数是存储路径,需要自己自定义后缀

创建文件夹

需要引入UnityEditor

AssetDatabase.CreateFolder("Assets",floder);//第一个参数是创建位置,第二个是文件名称

复制和移动文件

AssetDatabase.CopyAsset("Assets/folderName0/mat.mat", "Assets/folderName1/mat1.mat");//第一个参数是要复制的资源的路径,第二个参数是复制后资源的路径
AssetDatabase.MoveAsset("Assets/folderName1/mat1.mat", "Assets/folderName0/mat0.mat");//第一个参数是要移动的资源的路径,第二个参数是移动后资源的路径

删除和刷新视图

AssetDatabase.DeleteAsset("Assets/folderName0/mat0.mat");//删除文件
AssetDatabase.Refresh();//刷新资源视图,相当于鼠标右键刷新

打开网页

Application.OpenURL("https://www.bilibili.com/");//参数是URL的string形式

切换场景和获取场景名称

需要引用UnityEngine.SceneManagement

Scene scene = SceneManager.GetActiveScene();
GUILayout.Label("当前场景的名称为:" + scene.name);
SceneManager.LoadScene("SampleScene1");//加载场景,参数为场景名称

posted on 2022-08-14 17:25  jyhlearning  阅读(18)  评论(0编辑  收藏  举报