zoukankan      html  css  js  c++  java
  • 【Unity】2.10 利用VS2015编辑Unity的C#脚本

    分类:Unity、C#、VS2015

    创建日期:2016-03-31

    一、简介

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

    image

    这样一来,你就可以在VS2015中直接打开编辑不同的C# 脚本文件了,而且还可以直接创建新的C# 脚本,而不必在Unity和VS2015间来回切换。

    1、与Unity的深度集成

    如果你仍然不得不一直在Unity编辑器和VS2015之间来回切换,则VS2015 Tools for Unity 就不是一个提升效率的工具了。之所以借助VS2015 Tools for Unity,是因为可以轻松地在无需离开VS2015的情况下保持工作,这是它能提升开发效率的主要原因。

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

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

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

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

    • 断点,包括条件断点。

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

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

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

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

    2、MonoBehavior向导

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

    image

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

    image

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

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

    3、可直接编辑Shader

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

    4、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 中的错误、警告和消息,则可在“配置”菜单中禁用它们。

    二、需要注意的问题

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

    1、变量的定义

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

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

    例如:

    public int x = 3;

    private string s="abc";

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

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

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

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

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

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

    对于脚本子类(从MonoBehauour类继承的类),应该在Start()方法或者Awake()方法中处理初始化的工作,一定不要在MonoBehauour子类中用构造函数做初始化工作,这是因为Unity无法确定何时调用该子类的构造函数。

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

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

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

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

    5、静态变量

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

  • 相关阅读:
    Android——如何申请发布版SHA1值
    一些镜像下载网站
    装了两个系统后,怎么删除不需要的那一个系统
    python基础入门之十八 —— 模块和包
    python基础入门之十七 —— 异常
    python基础入门之十六 —— 继承
    python基础入门之十五 —— 类与对象
    谷歌云免费服务器申请方法
    【ROM制作工具】小白如何进行ROM解包,精简,修改,授权,打包详细图文教程
    按键精灵脚本与Total Control手机群控系统的完美结合
  • 原文地址:https://www.cnblogs.com/rainmj/p/5335625.html
Copyright © 2011-2022 走看看