unity脚本教程 基于unity3d的毕业设计

接下来的几天呢,大智作为探路者带你一块探索一下Unity2020.1里面有什么好玩的东西 。
这一次咱们来看看脚本编程方面的更新 。主要包含以下几个方面:

  • 代码默认将是Release模式,提高编辑器性能
  • 支持泛型类型序列化
  • Code Coverage代码覆盖率(Preview)
  • 各个IDE集成支持移到了packages中
代码默认将是Release模式,提高编辑器性能从Unity2020.1开始,Unity编辑器代码的编译模式默认是Release模式,可以提高性能,但是无法连接调试器(debugger),最主要是没办法断点调试 。
那如何设置可以连接调试器,断点调试呢?
可以在Unity窗口的右下角进行切换到Debug模式,如下图:

unity脚本教程 基于unity3d的毕业设计


切换到Debug模式后就可以连接调试器,进行断点调试了 。
支持泛型类型序列化之前,如果你想要一个泛型类型作为SerializeField,你需要定义一个非泛型的子类 。

unity脚本教程 基于unity3d的毕业设计


Unity2020.1移除了这个限制,你可以直接使用泛型类型作为SerializeField 。

unity脚本教程 基于unity3d的毕业设计


那泛型类型在Inspector上会如何显示呢?
答案是:会根据具体泛型类型显示在Inspector上 。
如上面的代码中泛型实例类型是string,Inspector上也会显示string的输入框 。

unity脚本教程 基于unity3d的毕业设计


Code Coverage代码覆盖率(Preview)Code Coverage这个预览包,可以在运行Test Runner的时候自动帮你统计代码覆盖率 。
在Unity2020之后,启用预览包移到了菜单栏Edit > Project Settings > Package Manager中的Enable Preview Packages 。如下图:

unity脚本教程 基于unity3d的毕业设计


之后就可以在Package Manager中安装这个包了 。

unity脚本教程 基于unity3d的毕业设计


安装好以后可以在菜单栏Window > Generic > Code Coverage打开 。

unity脚本教程 基于unity3d的毕业设计


接着需要在Edit > Preferences > General中勾选Enable Code Coverage 。启用后编辑器的开销会增加、性能会稍有降低,建议在不使用时禁用功能 。勾选后包便能访问Mono暴露的覆盖数据的接口 。接着,需要重启Unity 。
单次测试完成时,包会生成一份HTML报告,其中展示了总代码行覆盖率和每个类单独的覆盖情况 。

unity脚本教程 基于unity3d的毕业设计


HTML报告中最为重要的数值是覆盖行数,表示了测试中所覆盖的代码量 。比如,数值为75%表明有四分之一的代码行没有测试到 。数值在计算时会考虑到哪些代码行可以被测试到 。
Coverage History中的图表(截图中的红线)表明了每次项目测试时的覆盖率,覆盖率越高越好 。如果有所下跌,可以编写更多的测试用例来提升覆盖率 。
Code Coverage目前支持EditMode(编辑模式)和PlayMode(运行模式)测试,可以跟踪长期的覆盖量,可与Test Runner一同使用 。如果没有任何测试用例,也可以使用Coverage Recording(覆盖记录)功能记录覆盖数据 。
如果你想更深入了解Code Coverage这个包,可以在Package Manager中导入Samples,里面有示例和教程文档,安装入口如下图所示:

unity脚本教程 基于unity3d的毕业设计


image.png
各个IDE集成支持移到了packages中

推荐阅读