U2L10-2——Resources资源异步加载
U2L10-2——Resources资源异步加载 本章代码关键字 123456789Resources.LoadAsync<>() //Resources资源异步加载的方法,返回一个ResourceRequest类型的变量作为资源请求对其进行监听,获取等操作AsyncOperation //异步操作类,继承了协程中断指令类,因此协程调度器可以识别它,等到它对应的异步操作完成再执行继续协程AsyncOperation.completed //异步操作完成后就会执行的事件,外部需要向该事件添加监听函数,才能异步完成后通过监听函数获取加载的资源AsyncOperation.isDone //返回异步操作是否完成的属性AsyncOperation.progress //返回异步操作的进度的属性AsyncOperation.priority ...
U2L10-1——Resources资源同步加载
U2L10-1——Resources资源同步加载 Resources动态加载资源的方法,让对象拓展性更强 相对拖曳来说 它更加一劳永逸 更加方便 重要知识点:记住API 记住一些特定的格式 预设体加载出来一定要实例化 本章代码关键字 1234567Resources.Load() //读取Resources文件夹下的指定名字的文件,返回Unity的Object,需要自行转换Resources.Load(, typeof()) //读取Resources文件夹下的指定名字指定类型的文件,返回Unity的Object,需要自行转换Resources.LoadAll() //读取Resources文件夹下的指定名字所有类型的文件,返回Unity的Object数组Resources.Load<>() //读取Resources文件夹下的指定名字指定类型的文件的泛型方法,返回对应类型TextAsset //Unity的文本资源类textAsset.text ...
U2L10——Resources资源动态加载
U2L10——Resources资源动态加载 Resources资源动态加载 Resources文件夹作用:资源文件夹 需要通过Resources相关API动态加载的资源需要放在其中 该文件夹下所有文件都会被打包出去,打包时Unity会对其压缩加密 该文件夹打包后只读 只能通过Resources相关API加载 因此只有需要动态加载的资源需要放在其中,一些不会用到的资源不需要放在里面 在一个工程当中 Resources文件夹 可以有多个 通过API加载时 它会自己去这些同名的Resources文件夹找资源 打包时 Resources文件夹里的内容 都会打包到一起 Resources动态加载资源的方法,会让对象拓展性更强,相对拖曳来说 它更加一劳永逸...
U2L9——特殊文件夹
U2L9——特殊文件夹 其中最重要的文件夹就是Resources 资源文件夹、StreamingAssets 流动资源文件夹、persistentDataPath 持久数据文件夹 工程路径获取 注意 该方式 获取到的路径 一般情况下 只在编辑模式下使用 我们不会在实际发布游戏后 还使用该路径,游戏发布过后 该路径就不存在了! 该功能仅限于编辑模式下做一些编辑功能时才用到它,真正打包出去的游戏不可以用这个路径 1print(Application.dataPath); Resources 资源文件夹 该文件夹需要手动创建且一定不能取错名字,否则我们无法用api来进行相关操作了 路径获取:一般不获取 只能使用 Resources 相关API进行加载 如果硬要获取可以用工程路径拼接 关于这个文件夹详细的课程请看——>Resources资源动态加载 1print(Application.dataPath +...
U2L8——协同程序原理
U2L8——协同程序原理 协同程序原理 协程本质 就是利用 C#的迭代器函数“分步执行”的特点 加上 协程调度逻辑 实现的一套分时执行函数的规则 关于协程的介绍和使用相关,在协同程序里 协程的本质 协程可以分成两部分: 协程函数本体:就是一个可以中间暂停返回的函数 协程调度器:是Unity内部实现的,会在对应的时机帮助我们继续执行协程函数 Unity只实现了协程调度部分,协程的本体本质上就是一个C#的迭代器方法 可以简单把协程理解为迭代器函数 C#看到迭代器函数和yield return语法糖,就会把原本是一个“函数”变成“几部分” 我们就可以提供迭代器,从上到下遍历这几部分进行执行 而协程调度器就是利用迭代器函数返回的内容来进行之后的处理 比如Unity中的协程调度器,根据yield return返回的内容,决定了下一次在何时继续执行迭代器函数中的“下一部分” 理论上来说,我们可以利用迭代器函数的特点,自己实现协程调度器来取代Unity自带的调度器 协程本体是迭代器方法的体现 协程函数本体 如果我们不通过...
U2L7——协同程序
U2L7——协同程序 协同程序 协同程序简称协程,它是“假”的多线程,它不是多线程 它的主要作用: 将代码分时执行,不卡主线程 简单理解,是把可以会让主线程卡顿的耗时的逻辑分时分步执行 主要使用场景: 异步加载文件,异步下载文件,场景异步加载,批量创建时防止卡顿 Unity支持多线程,只是新开线程无法访问主线程中Unity相关内容 一般主要用于进行复杂逻辑运算或者网络消息接收等等 注意:Unity中的多线程一定要记得关闭!!! 对于协程的原理,请看协同程序原理 总结: 协同程序(协程)不是多线程,它是将线程中逻辑进行分时执行,避免卡顿,继承MonoBehaviour的类都可以使用协程 协程只有当组件单独失活时不受影响 其他情况下协程会停止 这个属于MonoBehaviour基类的重要方法,之前的重要方法看这里 -> MonoBehaviour 本章代码关键字 12345678910111213IEnumerator ...
UD1——PlayerPrefs系列
UD1——PlayerPrefs系列 数据持久化第一部分——系列代号UD1 本系列学习内容 PlayerPrefs的基本方法 PlayerPrefs存储位置 单独使用它的原生功能,适合存储一些对安全性要求不高的数据 对其进行封装会使其更加方便和安全
UG1——IMGUI系列
UG1——IMGUI系列 UI系统第一部分——系列代号UG1 IMGUI 全称 即时模式游戏用户交互界面(IMGUI) 在Unity中一般简称为GUI,它是一个代码驱动的UI系统 对于布局要求严格的游戏界面来说,它的使用繁琐,功能缺乏,导致该UI并不适合用于游戏界面, 但相对于NGUI、UGUI等方案,它可以很方便简单的在界面上显示控件,因此很适合用于游戏调试 它是编辑器拓展的前置知识,它用于编写编辑器拓展界面 工作原理和主要作用 基本控件 文本和按钮控件 多选框和单选框 输入框和拖动条 图片绘制和框 复合控件 工具栏和选择网格 滚动视图和分组 窗口相关 自定义整体样式 GUISkin GUILayout 实践必备知识点 编辑器模式下执行脚本
U2——Unity基础系列
U2——Unity基础系列 Unity四部曲第二部分——系列代号U2 本系列主要涉及 向量和四元数 —— 游戏中移动旋转都和它们相关 协程 —— 可以分时分步处理逻辑避免卡顿 范围检测 —— 动作游戏必备 射线检测 —— 交互功能必备 资源场景的同步异步加载 —— 所有功能必备 本系列学习内容: 3D数学 Mathf 三角函数 Unity中的坐标系 Vector3向量 向量模长和单位向量 向量加减乘除 向量点乘 向量叉乘 向量插值运算 四元数 Mono中的重要内容2 延迟(延时)函数 协同程序 协同程序原理 Resources资源动态加载 Unity中的特殊文件夹 同步加载 异步加载 卸载资源 场景异步切换 画线功能LineRenderer 物理系统2 范围检测 射线检测 本系列配套系列: UG2——NGUI系列 UD2——XML系列