UD2L1——XML基本语法
UD2L1——XML基本语法 创建XML文件 本系列用VSCode(使用XML插件)打开编辑这些文件,其他文本编辑器一样可以使用 注释 123456<!----><!--这里写注释内容即可--><!-- 这样可以 写多行注释--> 固定语法 固定内容代表 xml的版本 和 使用的编码 所谓的编码格式,就是读取文件时解析字符串使用的编码是什么 编码格式:不同的字符,在内存中的二进制是不一样的,每一个字符对应一个数字,不同的编码格式相同字符 对应的 二进制数据 是不一样的 乱码出现的情况,就是因为用了不一样的编码格式去解析文本内容,由于字符和对应的二进制不匹配,就会出现乱码 12<!--固定内容代表xml的版本和使用的编码--><?xml version="1.0", encoding="UTF-8"?> 基本语法 XML是一种树形数据结构 1234567891011121314151617181920<!--<节点名>可以填写数据 或者...
UD1L1-PlayerPrefs的基本方法
UD1L1-PlayerPrefs的基本方法 PlayerPrefs 是Unity提供的可以用于存储读取玩家数据的公共类 本章代码关键字 12345678910PlayerPrefs.SetInt(); //键值对存储int类型数据到内存PlayerPrefs.SetFloat(); //键值对存储float类型数据到内存PlayerPrefs.SetString(); //键值对存储string类型数据到内存PlayerPrefs.Save(); //立刻让内存内的数据存储到硬盘中PlayerPrefs.GetInt(,) //根据键获取int类型数据PlayerPrefs.GetFloat(,) //根据键获取float类型数据PlayerPrefs.GetString(,) //根据键获取string类型数据PlayerPrefs.HasKey() //判断数据是否存在DeleteKey() //删除指定键值对Deletaall() ...
UG2——NGUI系列
UG2——NGUI系列 UI系统第二部分——系列代号UG2 NGUI NGUI全称 下一代用户界面(Next-Gen UI) 它是第三方提供的Unity付费插件 专门用于制作Unity中游戏UI的第三方工具 相对于GUI它更适用于制作游戏UI功能 更方便使用,性能和效率更高 本系列学习内容: NGUI下载和导入 NGUI基础 三大基础组件 Root 控制分辨率自适应的基础 Panel 控件显示的基础 Event System(Uicamera) 输入事件监听的基础 图集制作 三大基础控件 Sprite - 精灵图片 Label - 文本控件 Texture - 大图控件 其他组合控件 Button - 按钮 Toggle - 单选多选框控件 Input - 文本输入控件 PopupList - 下拉列表控件 Slider - 滑动条控件 Scrollbar和Progressbar - 滚动条和进度条 Scrollview - 滚动视图 Anchor锚点组件 NGUI进阶 Eventlistener和Eventtrigger -...
UD2——XML系列
UD2——XML系列 数据持久化第二部分——系列代号UD2 XML 全称:可拓展标记语言(Extensible Markup...
U2L13-2——物理系统之射线检测
U2L13-2——物理系统之射线检测 本章代码关键字 12345678910111213Ray //射线类,根据起点和方向确定射线,用于接下来的检测函数ray.origin //射线的起点ray.direction //射线的方向camera.ScreenPointToRay() //相机的屏幕位置转射线,从屏幕的某个点射出射线Physics.Raycast() //射线检测函数,通过传入的射线(或者给定起点和方向)检测特定层级上是否有对象相交,用out关键字传入RaycastHit,会为该变量赋予物体信息RaycastHit //射线检测被击中对象的信息结构体,里面有各种信息raycastHit.collider //射线检测被击中对象的碰撞器,可以通过这个进一步获取信息raycastHit.point ...
U2L13-1——物理系统之范围检测
U2L13-1——物理系统之范围检测 范围检测 范围检测主要是用于瞬时的碰撞范围检测,主要掌握:Physics类的静态方法,球形 盒状 胶囊 三种API的使用即可 游戏中瞬时攻击范围判断一般会使用范围检测举例: 玩家在前方5m处释放一个地刺魔法,在此处范围内的对象将受到地刺伤害 玩家攻击,在前方1米圆形范围内对象都受到伤害,等等 类似这种并没有实体物体 只想要检测在指定某一范围是否让敌方受到伤害时 便可以使用范围判断 简而言之,在指定位置进行范围判断我们可以得到处于指定范围内的对象,目的是对 对象进行处理,比如受伤 减血等 本章代码关键字 1234567LayerMask.NameToLayer() //通过层级名字得到层级编号Physics.OverlapBox() //盒状范围检测,瞬时根据参数描述的立方体范围内,检测指定层级上(可选)的对象,返回碰撞器数组Physics.OverlapBoxNonAlloc() ...
U2L13——物理系统相关2
U2L13——物理系统相关2 关于之前的物理系统相关请看——>Unity物理1,之前已经讲了刚体,碰撞器,物理材质,碰撞检测以及刚体加力 碰撞产生的必要条件: 至少一个物体有刚体 两个物体必须都有碰撞器 碰撞和触发: 碰撞会产生实际的物理效果 触发看起来不会碰撞但是可以通过函数监听触发 碰撞检测主要用于实体物体组件产生物理效果时使用 本章我们将学习范围检测和射线检测 范围检测 射线检测
U2L12——画线功能LineRenderer
U2L12——画线功能LineRenderer LineRenderer LineRenderer 是 Unity 提供的一个用于画线的组件,使用它我们可以在场景中绘制线段 一般可以用于: 绘制攻击范围 武器红外线 辅助功能 其他画线功能 本章代码关键字 123456789101112LineRenderer //画线的类lineRenderer.loop //线段是否开启首尾相连lineRenderer.startWidth //线段开始宽lineRenderer.endWidth //线段结束宽lineRenderer.startColor //线段开始颜色lineRenderer.endColor //线段结束颜色lineRenderer.material //线段材质lineRenderer.positionCount ...
U2L11——场景异步切换
U2L11——场景异步切换 本章代码关键字 1SceneManager.LoadSceneAsync() //异步加载场景的方法,返回一个AsyncOperation,可以用回调函数或者协程来操作 场景同步切换 在入门的实践已经过同步切换了——>场景同步切换 1SceneManager.LoadScene("Lesson20"); 场景同步切换的缺点 在切换场景时Unity会删除当前场景上的所有对象,并且去加载下一个场景的相关消息 如果当前场景对象过多或者下一个场景对象过多,这个过程会非常的耗时,且会让玩家感受到卡顿 所以异步切换就是来解决该问题的 场景异步切换 场景异步加载和Resources资源异步加载,几乎一致,有两种方式 通过事件回调函数 协程异步加载 它们的优缺点表现和资源异步加载...
U2L10-3——Resources资源卸载
U2L10-3——Resources资源卸载 本章代码关键字 12Resources.UnloadAsset() //卸载指定的内存内缓存的资源,不能释放GameObject对象Resources.UnloadUnusedAssets() //卸载未使用的资源,一般在过场景时和GC一起使用 Resource是重复加载会浪费内存吗? 其实Resources加载过一次资源后,该资源就一直存放在内存中作为缓存 第二次加载时发现缓存中存在该资源,会直接取出来使用,所以多次重复加载不会浪费内存 但是会浪费性能(每次加载都会去查找取出,始终伴随一些性能消耗) 如何手动释放掉缓存中的资源 卸载指定资源 注意:该方法不能释放****GameObject对象 因为它会用于实例化对象 它只能用于一些不需要实例化的内容:比如图片 和 音效 文本等 一般情况下 我们很少单独使用它 1Resources.UnloadAsset() 该方法不能释放****GameObject对象 因为它会用于实例化对象,即使该对象没有被实例化也会不能卸载!...