UD1L1-PlayerPrefs的基本方法
UD1L1-PlayerPrefs的基本方法 本章代码关键字 12345678910PlayerPrefs.SetInt(); //键值对存储int类型数据到内存PlayerPrefs.SetFloat(); //键值对存储float类型数据到内存PlayerPrefs.SetString(); //键值对存储string类型数据到内存PlayerPrefs.Save(); //立刻让内存内的数据存储到硬盘中PlayerPrefs.GetInt(,) //根据键获取int类型数据PlayerPrefs.GetFloat(,) //根据键获取float类型数据PlayerPrefs.GetString(,) //根据键获取string类型数据PlayerPrefs.HasKey() //判断数据是否存在DeleteKey() //删除指定键值对Deletaall() //删除所有存储的信息 PlayerPrefs 是 Unity...
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 Language) XML 是国际通用的,它是被设计来用于传输和存储数据的一种文本特殊格式,文件后缀一般为 .xml 本系列学习内容 Xml文件格式 Xml基本语法 Xml属性 C#读取存储Xml Xml存放位置 读取Xml文件 存储修改Xml文件 实践必备知识点 C#中Xml序列化 C#中Xml反序列化 IXmlSerialzable接口 让Dictionary支持序列化反序列化 重点掌握: XML 基础规则 C# 读取存储 XML 文件 利用基于反射的序列化和反序列化 实践完成目标:封装 XML 存储,使其一句代码即可完成数据读取,存储 优点: XML...
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对象 因为它会用于实例化对象,即使该对象没有被实例化也会不能卸载!...
U2L10-2——Resources资源异步加载
U2L10-2——Resources资源异步加载 本章代码关键字 123456789Resources.LoadAsync<>() //Resources资源异步加载的方法,返回一个ResourceRequest类型的变量作为资源请求对其进行监听,获取等操作AsyncOperation //异步操作类,继承了协程中断指令类,因此协程调度器可以识别它,等到它对应的异步操作完成再执行继续协程AsyncOperation.completed //异步操作完成后就会执行的事件,外部需要向该事件添加监听函数,才能异步完成后通过监听函数获取加载的资源AsyncOperation.isDone //返回异步操作是否完成的属性AsyncOperation.progress //返回异步操作的进度的属性AsyncOperation.priority ...