【Unity】6.2 在VS2015中调试 C# 脚本
分类:Unity、C#、VS2015
创建日期:2016-04-16
一、简介
这一节先利用GUI显示一个简单的界面(以后还会专门介绍GUI),并解释如何在VS2015中调试C#脚本。
本节例子的运行效果如下:
二、调试C#脚本的方式
有以下方式:
(1)利用断点调试。断点设置和取消的办法与在控制台应用程序中利用断点调试C#代码的办法相同。
(2)通过Debug类提供的方法在后台输出调试信息。该办法会直接在VS2015输出窗口以及Unity的控制台(Console)中输出调试信息。
(3)在Unity的播放预览模式下,直接修改检视器(Inspector)中显示的变量的值,观察不同值的效果。
三、本节例子的设计步骤
1、运行Unity,新建ch06Demo工程。
2、在Project视图的Assets下添加一个名字为“6.2”的子文件夹,然后将默认的场景保存到该文件夹下,场景名称为“Scene2.unity”。
3、在Assets/6.2文件夹下鼠标右击添加一个文件名为ch06_2_1.cs的C#脚本,然后双击它在VS2015中打开该脚本,将其改为下面的内容:
using UnityEngine; using System.Collections;public class ch06_2_1 : MonoBehaviour {public int age = 20;private string text = "";private string myName = "";void OnGUI(){//用标签显示文本GUILayout.Label(string.Format("你的年龄是:{0}\n", age));GUILayout.Label("请输入你的名字:");//在文本区域中输入名字text = GUILayout.TextField(text);//按钮if (GUILayout.Button("提交")){myName = text;}//当myName不为空的时候,说明我们已经提交了名字,则显示名字if (!string.IsNullOrEmpty(myName)){GUILayout.Label("提交成功,名字:" + myName);}} }
4、按<Ctrl>+S保存该脚本。
5、切换到Unity,观察Project下的文件夹,会发现6.2文件夹下有2个文件:
5、在层次视图中鼠标右击,添加一个空的GameObject:
6、选中GameObject,以便在检视器中观察它。然后将ch06_2_1.cs拖放到检视器中得到下面的结果:
这时你就会发现,脚本中声明为public的age变量,在GameObject的检视器视图中被自动封装成了Age属性,并显示在脚本的下面。
说明:这就是为什么我们在C#脚本中用小写字母开头的age来声明这个变量,因为Unity会将自动其封装为用大写字母开头的同名属性。
6、按【播放】按钮进入预览模式,即可看到运行效果:
7、在文本框中输入名字,单击【提交】按钮,就会在界面中的下一行显示出名字信息。
8、拖放检视器中【Age】属性的值(按住鼠标左右拖放),你就会发现该值在场景中也会跟着变化:
9、再次按【播放】按钮结束预览模式。
10、切换到VS2015,再要插入代码处鼠标右击,选择【Implement MonoBehabious】,在弹出的窗口中,勾选Start(),如下图所示:
单击【OK】,它就会自动在当前光标处添加Start()方法。
11、将Start()改为下面的代码:
public void Start(){Debug.Log("Age:"+age);//还可以输出下面的分类信息Debug.Log("普通信息");Debug.LogWarning("警告信息");Debug.LogError("错误信息");}
12、选择【Attach to Unity and Play】:
然后单击它,此时,它就会自动从VS2015切换到Unity,并在Unity的Console选项卡中输出下面的内容:
当然了,这样做只是为了演示如何在VS2015中直接启动Unity下的播放预览模式,并在Unity的Console中输出不同级别的信息(一般、警告、错误)。在实际的代码中肯定不会这样做,而是应该根据具体情况,决定在后台输出哪一类的调试信息。
13、单击Unity的【播放】按钮结束预览模式。
14、切换到VS2015,结束运行,然后注释掉Start()方法中的语句,单击【保存】或者【全部保存】:
好了,通过这个例子,你应该知道如何在VS2015中调试C#脚本了吧。
另外,你也可以直接在VS2015的解决方案资源管理器中项目的对应文件夹下添加新的C#脚本或者其他资源,或者创建新的子文件夹(VS2015中项目文件夹的结构和Unity工程中Project下文件夹的结构完全相同),保存后它都会自动将其同步到Unity的Assets下的对应文件夹中,这个“同步”过程完全是自动的,你所做的就是“创建”、“编辑”、“保存”。
转载于:https://www.cnblogs.com/rainmj/p/5398051.html
【Unity】6.2 在VS2015中调试 C# 脚本相关推荐
- 在当前浏览器中调试自动化脚本
0.引子 做WEB自动化测试时,绕不开登录操作,但是如果只是想测试登录外的其它操作,或者对其它功能的自动化用例进行调试,不想每次调试,都要从登录重新来一遍,那么这种方法将非常合适. 1.环境变量 1. ...
- vs c语言程序调试方法,VS2015中的常用调试技巧分享
原标题:VS2015中的常用调试技巧分享 为什么要学习调试? 调试(Debug)是作为一个程序员必须要学会的东西,学会调试可以极大的提高开发效率,排错时间,很多人不喜欢调试,但我认为这是一个很不可取的 ...
- vs2015如何调试c语言,Visual C++ 2015 中的可视化调试工具
Visual C++ 2015 中的可视化调试工具 11/29/2015 8 分钟可看完 本文内容 [原文发表时间] 2015/09/28 10:27 PM 当调试本地应用程序时,通常查看内存中具体对 ...
- 【Unity】6.1 Unity中的C#脚本基础知识
分类:Unity.C#.VS2015 创建日期:2016-04-16 一.简介 1.常用的C#数据类型 这里简单介绍用Unity开发游戏时,最常用的一些数据类型. (1)基本类型 int.float. ...
- android显示3d模型_使用Unity AR Foundation在增强现实中查看模型
本文将分享麻省理工学院的教程-使用Unity AR Foundation在增强现实中查看模型. 在本教程中,我们将介绍如何把3D模型导入Unity,并使用Android设备或iOS设备在AR中查看模型 ...
- android studio 中配置groovy源码_麻省理工教程:使用Unity AR Foundation在AR中查看模型...
本文将分享麻省理工学院的教程-使用Unity AR Foundation在增强现实中查看模型. 在本教程中,我们将介绍如何把3D模型导入Unity,并使用Android设备或iOS设备在AR中查看模型 ...
- ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源
ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源 如此提示是由于没有JAR包中找不到MAIN,可以手动添加或自己修改 利用ECLIPSE填写JAR中的MAIN方法后,就可以调 ...
- UWP开发入门(十九)——10分钟学会在VS2015中使用Git
原文:UWP开发入门(十九)--10分钟学会在VS2015中使用Git 写程序必然需要版本控制,哪怕是个人项目也是必须的.我们在开发UWP APP的时候,VS2015默认提供了对微软TFS和Git的支 ...
- pl sql如何调试oracle存储过程,PL/SQL Developer中调试oracle的存储过程
作者:iamlaosong 唉,真土,之前用Toad,1直用dbms_output.put_line调试存储进程,只觉得不方便,用上PL/SQL Developer后,习惯性的还是用这个方法,人都是有 ...
- 在VS2015中使用Boost库
在VS2015中使用Boost库 因为学习需要使用boost库,也是第一次使用它.随便去搜了一下,的确有前人分享了许多经验.有些比较复杂繁琐,有些不太到位,不过还是感谢他们,最后我配置好了. 所以发这 ...
最新文章
- 学习网络请求返回json对应的model
- 用TableView写带特效的cell
- python paramiko模块
- 【算法竞赛学习】数据分析达人赛3:汽车产品聚类分析
- POJ - 2385 Apple Catching (dp)
- TCP和IP协议的特点
- 2018CHD-ACM新生赛(正式赛)E.解救迷茫的草滩小王子
- C语言极坐标转直角坐标,C语言实现直角坐标转换为极坐标的方法
- Python实战之Selenium自动化测试web刷新FW
- 卡片跳转快应用指定页面,如何点返回直接退出快应用回到卡片
- 【考前冲刺】计算机三级网络技术之综合题-IP地址计算
- latex添加bibtex参考文献方法及pdf没有参考文献问题
- C#实现改变图片的像素
- c语言4位数求各位数的立方和,功能:使用循环结构求一个四位数的各位数字的立方和...
- models.__dict__[args.model]()
- 信息学奥赛一本通 1214:八皇后 | OpenJudge NOI 2.5 1756:八皇后
- 不动产测绘数据入库_不动产测绘空间信息数据整合初探
- 《Openwrt开发》第一章:newifi3 刷自己编译的Openwrt固件
- 给我讲解一下傅里叶变换与衍射的关系
- 超级神基恩号matlab仿真,RG吉恩号、MG Ka沙、Ka牛、Ka掉毛,又一波超值新品上架!...
热门文章
- python中for循环遍历文件_Python中的用for,while循环遍历文件实例
- mysql统计年月周日_mysql 按年度、季度、月度、周、日统计查询的例子.docx
- 在NVME SSD上安装WIN7
- 回答工作做好了,可能有三种情形
- 上传苹果版本时错误解决办法:No suitable application records were found. Verify your bundle identifier
- linux自动化设备,为变电站自动化设备定制Linux系统
- mysql界面导出数据库有乱码_导出的MYSQL数据库是乱码还可以变回中文吗
- mysql sumif优化,sumif函数的使用方法
- 桌面环境选择_如何在 Ubuntu 20.04 LTS 上安装深度(Deepin)桌面环境 | Linux 中国
- python输入函数设计_(董付国)Python 学习笔记---Python函数设计与使用(3)