【Unity】2.10 利用VS2015编辑Unity的C#脚本

分类:Unity、C#、VS2015 网络

建立日期:2016-03-31 数据结构

1、简介

用VS2015编辑C#脚本时,若是让其“显示全部文件”,就会看到VS2015解决方案资源管理器中项目的文件夹结构和Unity的Project下的文件夹结构彻底相同: 编辑器

image

这样一来,你就能够在VS2015中直接打开编辑不一样的C# 脚本文件了,并且还能够直接建立新的C# 脚本,而没必要在Unity和VS2015间来回切换。 函数

一、与Unity的深度集成 工具

若是你仍然不得不一直在Unity编辑器和VS2015之间来回切换,则VS2015 Tools for Unity 就不是一个提高效率的工具了。之因此借助VS2015 Tools for Unity,是由于能够轻松地在无需离开VS2015的状况下保持工做,这是它能提高开发效率的主要缘由。 调试

•VS2015中呈现的项目层次结构和在Unity编辑器中显示的层次结构相同。 对象

•VS2015会自动未来自Unity控制台的输出显示在VS2015的错误窗口内的右侧。 blog

•调试游戏时,无需切换回Unity,只需按F5。 继承

不管是独立运行仍是在Unity编辑器中运行,VS2015强大的调试器都会链接到你的Unity游戏以调试C#脚本和DLL。 游戏

• 断点,包括条件断点。

• 计算“监视”窗口中的复杂表达式。

• 检查和修改变量和参数的值。

• 深化到复杂的对象和数据结构。

你甚至能够当Unity游戏在网络上的另外一台计算机上运行时对其进行调试。

二、MonoBehavior向导

在VS2015的.cs代码编辑器中,将光标放置在你可能要插入方法的位置,而后鼠标右击选择【Implement MonoBehaviors】:

image

此时就会出现下面的选项:

image

选择要重载的方法,单击【肯定】按钮,它就会自动生成对应的代码。

当你须要重载不熟悉的方法时,MonoBehavior 向导尤为有用。

三、可直接编辑Shader

Unity的 ShaderLab语言的语法着色可帮助你在着色器中的错误变成bug以前发现它们。你只需在VS2015中打开并编辑ShaderLab文件。

四、Unity 错误列表

链接到 Unity 实例时,能够从 Visual Studio 内部的 Unity 控制台查看消息。 这包括 Unity 中的错误和警告。 消息将显示在 Visual Studio 的“错误列表”窗口中;Unity 中的错误消息将显示在“错误”选项卡上,警告消息将显示在“警告”选项卡,而其余消息(好比经过使用 Debug.Log Unity API 发送的消息)将显示在“消息”选项卡上。

为了查看消息,必须正确配置 Unity 项目以支持脚本调试并导入适用于你的 Visual Studio 版本的 Visual Studio Tools for Unity 包,而且 Visual Studio 必须链接到 Unity。

若是不想在 Visual Studio 的“错误列表”窗口中看到 Unity 中的错误、警告和消息,则可在“配置”菜单中禁用它们。

2、须要注意的问题

在Unity中使用C#编写脚本时须要注意如下规则:

一、变量的定义

在Unity中,C#脚本的变量不是用属性来声明,而是直接用public、protected、private来声明该变量可访问的范围,格式为:

访问修饰符 变量类型 变量名;

例如:

public int x = 3;

private string s="abc";

其中,声明为public的变量会自动显示在Unity编辑器的Inspector视图中,并能够在Inspector视图中直接编辑该变量的值。

此规定仅限添加到游戏对象的C# 脚本类,即从MonoBehauour类继承的子类中定义的变量,其余类没有此限制。

二、脚本类必须是MonoBehauour类的子类

凡是须要添加到游戏对象的C# 脚本类,都必须直接或间接地从MonoBehauour类继承。对于在Unity编辑器中新建的C# 脚本,Unity会自动帮助开发者完成继承的相关代码。

不须要添加到游戏对象的C#类没有此限制。

三、脚本子类不要使用构造函数

对于脚本子类(从MonoBehauour类继承的类),应该在Start()方法或者Awake()方法中处理初始化的工做,必定不要在MonoBehauour子类中用构造函数作初始化工做,这是由于Unity没法肯定什么时候调用该子类的构造函数。

不是MonoBehauour的子类没有此限制。

四、脚本类名要和脚本文件名相同

对于从MonoBehauour类继承的类,类名必定要与脚本文件名相同,不然添加脚本到游戏对象时会提示错误。

不是MonoBehauour的子类没有此限制。

五、静态变量

建议不要在对象引用中使用静态变量,以确保未使用的对象可以从内存中删除。

相关文章
相关标签/搜索