分类: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# 脚本相关推荐

  1. 在当前浏览器中调试自动化脚本

    0.引子 做WEB自动化测试时,绕不开登录操作,但是如果只是想测试登录外的其它操作,或者对其它功能的自动化用例进行调试,不想每次调试,都要从登录重新来一遍,那么这种方法将非常合适. 1.环境变量 1. ...

  2. vs c语言程序调试方法,VS2015中的常用调试技巧分享

    原标题:VS2015中的常用调试技巧分享 为什么要学习调试? 调试(Debug)是作为一个程序员必须要学会的东西,学会调试可以极大的提高开发效率,排错时间,很多人不喜欢调试,但我认为这是一个很不可取的 ...

  3. vs2015如何调试c语言,Visual C++ 2015 中的可视化调试工具

    Visual C++ 2015 中的可视化调试工具 11/29/2015 8 分钟可看完 本文内容 [原文发表时间] 2015/09/28 10:27 PM 当调试本地应用程序时,通常查看内存中具体对 ...

  4. 【Unity】6.1 Unity中的C#脚本基础知识

    分类:Unity.C#.VS2015 创建日期:2016-04-16 一.简介 1.常用的C#数据类型 这里简单介绍用Unity开发游戏时,最常用的一些数据类型. (1)基本类型 int.float. ...

  5. android显示3d模型_使用Unity AR Foundation在增强现实中查看模型

    本文将分享麻省理工学院的教程-使用Unity AR Foundation在增强现实中查看模型. 在本教程中,我们将介绍如何把3D模型导入Unity,并使用Android设备或iOS设备在AR中查看模型 ...

  6. android studio 中配置groovy源码_麻省理工教程:使用Unity AR Foundation在AR中查看模型...

    本文将分享麻省理工学院的教程-使用Unity AR Foundation在增强现实中查看模型. 在本教程中,我们将介绍如何把3D模型导入Unity,并使用Android设备或iOS设备在AR中查看模型 ...

  7. ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源

    ECLIPSE远程调试出现如下问题  ECLIPSE中调试代码提示找不到源 如此提示是由于没有JAR包中找不到MAIN,可以手动添加或自己修改 利用ECLIPSE填写JAR中的MAIN方法后,就可以调 ...

  8. UWP开发入门(十九)——10分钟学会在VS2015中使用Git

    原文:UWP开发入门(十九)--10分钟学会在VS2015中使用Git 写程序必然需要版本控制,哪怕是个人项目也是必须的.我们在开发UWP APP的时候,VS2015默认提供了对微软TFS和Git的支 ...

  9. pl sql如何调试oracle存储过程,PL/SQL Developer中调试oracle的存储过程

    作者:iamlaosong 唉,真土,之前用Toad,1直用dbms_output.put_line调试存储进程,只觉得不方便,用上PL/SQL Developer后,习惯性的还是用这个方法,人都是有 ...

  10. 在VS2015中使用Boost库

    在VS2015中使用Boost库 因为学习需要使用boost库,也是第一次使用它.随便去搜了一下,的确有前人分享了许多经验.有些比较复杂繁琐,有些不太到位,不过还是感谢他们,最后我配置好了. 所以发这 ...

最新文章

  1. 学习网络请求返回json对应的model
  2. 用TableView写带特效的cell
  3. python paramiko模块
  4. 【算法竞赛学习】数据分析达人赛3:汽车产品聚类分析
  5. POJ - 2385 Apple Catching (dp)
  6. TCP和IP协议的特点
  7. 2018CHD-ACM新生赛(正式赛)E.解救迷茫的草滩小王子
  8. C语言极坐标转直角坐标,C语言实现直角坐标转换为极坐标的方法
  9. Python实战之Selenium自动化测试web刷新FW
  10. 卡片跳转快应用指定页面,如何点返回直接退出快应用回到卡片
  11. 【考前冲刺】计算机三级网络技术之综合题-IP地址计算
  12. latex添加bibtex参考文献方法及pdf没有参考文献问题
  13. C#实现改变图片的像素
  14. c语言4位数求各位数的立方和,功能:使用循环结构求一个四位数的各位数字的立方和...
  15. models.__dict__[args.model]()
  16. 信息学奥赛一本通 1214:八皇后 | OpenJudge NOI 2.5 1756:八皇后
  17. 不动产测绘数据入库_不动产测绘空间信息数据整合初探
  18. 《Openwrt开发》第一章:newifi3 刷自己编译的Openwrt固件
  19. 给我讲解一下傅里叶变换与衍射的关系
  20. 超级神基恩号matlab仿真,RG吉恩号、MG Ka沙、Ka牛、Ka掉毛,又一波超值新品上架!...

热门文章

  1. python中for循环遍历文件_Python中的用for,while循环遍历文件实例
  2. mysql统计年月周日_mysql 按年度、季度、月度、周、日统计查询的例子.docx
  3. 在NVME SSD上安装WIN7
  4. 回答工作做好了,可能有三种情形
  5. 上传苹果版本时错误解决办法:No suitable application records were found. Verify your bundle identifier
  6. linux自动化设备,为变电站自动化设备定制Linux系统
  7. mysql界面导出数据库有乱码_导出的MYSQL数据库是乱码还可以变回中文吗
  8. mysql sumif优化,sumif函数的使用方法
  9. 桌面环境选择_如何在 Ubuntu 20.04 LTS 上安装深度(Deepin)桌面环境 | Linux 中国
  10. python输入函数设计_(董付国)Python 学习笔记---Python函数设计与使用(3)