Unity学习笔记(1)-“Hello World”之Unity的调试和log

来源:互联网 发布:淘宝店铺首页店招尺寸 编辑:程序博客网 时间:2024/06/07 23:00

       作为一个合格的程序员,持续保持学习的状态是十分必要,学习3d有一段时间了,期间接触过虚幻引擎,unity等3d引擎,个人的看法是虚幻引擎功能强大,但unity更适合开发手游,想来自己从2011年底开始接触ios游戏开发时就接触过unity,当时因为自己一直在开发2d游戏,且在2d手机游戏开发上,cocos2d-x有着很好的易用性,所以选择了cocos2d-x作为自己的主要开发引擎学习,同时当时的自己,作为一个游戏开发的一年级菜鸟,还很难理解unity的设计以及全部的功能,学习了一些3d知识,再回来看unity,觉得它是一个易入门难精通的游戏引擎,更适合长期学习使用,虽然不开源,但是随着引擎功能的发展,其使用的灵活性也逐渐提高,因此从去年开始,我开始重新学习unity引擎,同时为了记录自己的学习历程和收获,我的博客将开始Unity学习笔记系列文章的连载,这部分教程将记录一些我学习的心得和体会,另外目前Unity的教程虽多,但成体系的很少,基本都是基于某一方面的讲解,本教程将争取将Unity的知识形成体系,另外本教程介绍的相关辅助代码和框架,我也会继承到我的一套框架中,并在合适的时间开源,希望各位读者为本教程提出改进意见,我们一起完成一套易用的Unity框架中...

       本篇文章介绍Unity中的调试技巧,一般介绍一门新技术时都要从“Hello World”开始,但这里不打算再重复的介绍在屏幕上显示一段文字的方法,因为有大量教程可以做到,这里将介绍如何在Unity中进行调试,作为一名有经验的游戏开发者,调试方法非常重要,我们日常工作有很大部分时间是在debug和调试,所以一个好的调试方法非常重要,本篇将介绍在Unity中断点调试的方法和输出Log的方法

(一)断点调试法

        断点调试是我们日常调试的一个重要手段,提到在Unity中断点调试,首先需要介绍MonoDevelop,它是一个跨平台的开发工具,主要用于.net相关的开发,在使用Unity开发时,MonoDevelop是我们重要的开发工具,在Windows开发环境中,我们可以使用VS或者MonoDevelop作为我们的开发工具,而在Mac系统下,我们使用MonoDevelop作为我们的开发工具。在下载安装完成Unity后,我们需要到MonoDevelop的官网中下载安装MonoDevelop(http://www.monodevelop.com),然后我们需要在Unity的Preference中配置MonoDevelop:


       然后我们需要创建一个unity的工程并新建场景,Unity的工程会自带一个默认的场景,当我们保存场景时,我们需要为场景命名,同时我们在场景中创建一个Cube立方体,然后我们在资源视图中创建一个C#脚本(如果没有特殊说明,本教程中使用C#脚本),然后把C#脚本附到Cube上(addComponet->Script->脚本名),这时运行场景,我们的脚本就起作用了,但是这时运行,我们的断点并不起作用,是因为MonoDevelop没有和Unity编辑器连接,有两个方法可以连接,一个是关掉当前Unity编辑器,运行MonoDevelop,这样保证编辑器窗口由我们的MonoDevelop调用,这个方法并不推荐,因为每次运行都要启动Unity,费时间并且不方便我们同时编辑场景,第二个方法,就是在MonoDevelop的运行菜单中选择Attach To Process,从而可以使在MonoDevelop中调用的断点起作用。




(二)打印Log

      在调试时我们需要在打印一些Log信息来帮助我们,Unity中提供了Debug.Log帮助我们把信息打印在控制台上,如图所示:


      然而,这些有时往往不够,在真机上调试时,我们看不到控制台上的Log,我们需要在屏幕上显示,关于显示Log到屏幕上,可以参考这篇博客:

http://blog.csdn.net/cartzhang/article/details/49818953

      我把这篇博客介绍的DebugConsole集成到我的框架中,DebugConsole目前支持error(红色),warning(黄色)和common(绿色)三种,我们可以根据需求来修改我们的代码,关于这部分代码的修改,后面的博客还会详细介绍。运行效果如图所示


      需要说明的是,在我的博客里,除非特别必要,不会介绍简单的Unity窗口布局和简单操作这些内容,需要的读者可以查一下相关资料

      能力不足,水平有限,如有错误,欢迎指出

      下一篇介绍Android打包和Ios运行在Xcode下的操作

1 0
原创粉丝点击