Unity3D实践系列03,使用Visual Studio编写脚本与调试

在Unity3D中,只有把脚本赋予Scene中的GameObject,脚本才会得以执行。

添加Camera类型的GameObject。

Unity3D默认使用"MonoDevelop"编辑器,这里,我想使用Visual Studio作为编辑器。

依次点击"Edit","Preferences","External Tools",在"External Script Editor"项下选择"Visual Studio"作为编辑器。

在"Project"窗口下的"Asserts"中,创建名称为"_MyScripts"的文件夹。一旦创建名称以下划线开头的文件夹,该文件夹将排在默认文件夹的上方。

开始运行时执行脚本

 

右键"_MyScripts"文件夹,点击"Create"中的"C# Script",取名为"HelloWorld"。

双击"HelloWorld"类文件,将在"Visual Studio"中打开此文件。

在Visual Studio中编写如下:

using UnityEngine;
using System.Collections;
public class HelloWorld : MonoBehaviour {
    // Use this for initialization
    void Start () {
        print("Hello World");
    }
    
    // Update is called once per frame
    void Update () {
    
    }
}

保存。

如果在Unity3D软件界面中,暂没有"Console"窗口,依次点击"Window"菜单下的"Console",并把"Console"窗口移动至"Game"窗口的右侧。

此时,点击Unity3D软件上的播放按钮,"Console"窗口还没有显示任何信息。因为,现在还没有把脚本赋予给Scene中的GameObject。

点击"Hierarchy"窗口中的"Camera",随之"Inspector"窗口出现所有有关Camera的信息。

把"HelloWorld"这个类文件拖动到Camera对应的"Inspector"窗口的最下方,再次运行,可以看到脚本信息生效。

3


在Unity3D中,还有一种方法可以在控制台输出调试信息。那就是Debug.Log方法。修改HelloWorld类如下:

using UnityEngine;
using System.Collections;
public class HelloWorld : MonoBehaviour {
    // Use this for initialization
    void Start () {
        print("Hello World");
        Debug.Log("Hello World from Log");
    }
    
    // Update is called once per frame
    void Update () {
    
    }
}

保存。

先清空控制台内的调试信息。再次运行,可以看到通过Debug.Log方法生成的调试信息生效。

4

当然Debug还有其它静态方法,比如Debug.LogWarning, Debug.LogError,等等。

每过一帧执行脚本

 

在Update方法中,游戏每经过一帧都会执行这里的方法。修改HelloWorld类文件如下:

using UnityEngine;
using System.Collections;
public class HelloWorld : MonoBehaviour {
    // Use this for initialization
    void Start () {
        //print("Hello World");
        //Debug.Log("Hello World from Log");
    }
    
    // Update is called once per frame
    void Update () {
        print("Hello World");
    }
}

保存。

运行,看到print("Hello World")被执行了很多次。

5

原文地址:https://www.cnblogs.com/darrenji/p/4587842.html