【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下的对应文件夹中,这个“同步”过程完全是自动的,你所做的就是“创建”、“编辑”、“保存”。
最新文章
- audio 基本功能实现(audio停止播放,audio如何静音,audio音量控制等)
- xshell 语句
- Android——播放器和图片轮播
- js获取url参数 兼容某些带#url
- button 浏览器兼容问题
- uiview 的transitionWithView 方法使用
- jquery之音乐均衡器
- SQL内外左右交叉连接
- 临时笔记:flume+ CDH 的 twitter实例
- SSE &;&; WebSockets
- Spring接口编程_设值注入和构造注入
- php头像上传预览
- java课程设计(团队)-五子棋
- 石家庄地铁系统开发(java web版)(二)
- js-sha256源码
- tf的一些基本用法
- C++ 仿函数
- nginx &;&; apache 图片代理
- layer.alert没有垂直居中
- CSS-图像映射
热门文章
- 10个超棒jQuery表单操作代码片段
- 转:关于 OGRE 与 OSG 的简单比较
- 非常漂亮滴皮肤skin++ 终极破解之法
- 基于RecyclerView实现的分组显示信息demo
- ubuntu 16.04 LTS 修改 国内源(以中科大源为例)
- (原+译)pytorch中保存和载入模型
- Ubuntu 10.04里安装强大抓图工具Shutter
- Xcode 8 的 Debug 新特性 —- WWDC 2016 Session 410 &; 412 学习笔记
- 【DeepLearning】Exercise:PCA in 2D
- iptables中ULOG和NFLOG实现分析【转】