系统学习完整项目记录(Day1)

2022/1/13 23:05:31

本文主要是介绍系统学习完整项目记录(Day1),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

一,Unity资源加载路径(概念)

1.Unity API——Application类的详解

2.Unity资源加载路径及加载方式小结

二,Unity预编译宏定义

1.Unity 预编译相关宏定义 (如:UNITY_EDITOR)

三,Unity #if预处理

1.C# #if、#endif和预处理指令

2.unity #if 的变量定义及用法

四,Unity 文件及目录的操作

1.C#文件夹操作之Directory类和DirectoryInfo类

2.Unity中File和FileInfo

3.C#学习之基础篇(File、FileInfo、Directory、DirectoryInfo区别)


一,Unity资源加载路径(概念)

1.Unity API——Application类的详解

2.Unity资源加载路径及加载方式小结

路径属性路径说明
Application.dataPath此属性用于返回程序的数据文件所在文件夹的路径。例如在Editor中就是Assets了
Application.streamingAssetsPath此属性用于返回流数据的缓存目录,返回路径为相对路径,适合设置一些外部数据文件的路径。放在Unity工程StreamingAssets文件夹中的资源发布后都可以通过这个路径读取出来。
Application.persistentDataPath此属性用于返回一个持久化数据存储目录的路径,可以在此路径下存储一些持久化的数据文件。
Application.temporaryCachePath此属性用于返回一个临时数据的缓存目录。

GameConstSetting文件中的switch

switch (PathType)
        {
            case AssetPathType.Resource:
                path = Application.dataPath;
                break;
            default:
                path = "";
                break;
        }

二,Unity预编译宏定义

1.Unity 预编译相关宏定义 (如:UNITY_EDITOR)

ResourcePathHelper文件中的RefreshAllFilePath()

#if UNITY_EDITOR
        LoadResourcePathOnEditor();
#else
        LoadResourcePathFromTable();
#endif

三,Unity #if预处理

1.C# #if、#endif和预处理指令

2.unity #if 的变量定义及用法

第一个讲用法,第二个讲概念

//VS会在编写代码时就自动判断出将会执行哪个代码块,并把不会执行的置灰。
//当游戏处于编辑器阶段即还未发布时(可以在VS中改变调试的模式为Release)
#if DEBUG
    Debug.Log("当前是编辑器模式");
#else
    Debug.Log("当前不是编辑器模式");
#endif   

四,Unity 文件及目录的操作

1.C#文件夹操作之Directory类和DirectoryInfo类

2.Unity中File和FileInfo

3.C#学习之基础篇(File、FileInfo、Directory、DirectoryInfo区别)

ResourcePathHelper文件中的AddAssetPath()

 FileInfo[] files = dir.GetFiles();
        for (int index = 0; index < files.Length; index++)
        {
            FileInfo file = files[index];
            string name = file.Name;
            string fullPath = file.FullName.Replace("\\","/");
            if (name.EndsWith(".meta"))
            {
                continue;
            }
            if (FilePathDic.ContainsKey(name))
            {
                LogHelper.LogError("文件名重复,名字为::" + name);
            }
            else
            {
                string path = fullPath.Replace(fromPath, "");
                path = path.Substring(1, path.Length - 1);
                path = addPath + path;
                FilePathDic.Add(name, path);
            }
        }
        DirectoryInfo[] dirs = dir.GetDirectories();
        for (int index = 0; index < dirs.Length; index++)
        {
            AddAssetPath(dirs[index], pathDic,fromPath,addPath);
        }

注明:以上所有超链接均为引用,仅供个人学习,太多所以不一一标注

今日思维导图进度

 



这篇关于系统学习完整项目记录(Day1)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程