在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 initializationvoid Start () {print("Hello World");}// Update is called once per framevoid Update () {}}
保存。
如果在Unity3D软件界面中,暂没有"Console"窗口,依次点击"Window"菜单下的"Console",并把"Console"窗口移动至"Game"窗口的右侧。
此时,点击Unity3D软件上的播放按钮,"Console"窗口还没有显示任何信息。因为,现在还没有把脚本赋予给Scene中的GameObject。
点击"Hierarchy"窗口中的"Camera",随之"Inspector"窗口出现所有有关Camera的信息。
把"HelloWorld"这个类文件拖动到Camera对应的"Inspector"窗口的最下方,再次运行,可以看到脚本信息生效。
在Unity3D中,还有一种方法可以在控制台输出调试信息。那就是Debug.Log方法。修改HelloWorld类如下:
using UnityEngine;using System.Collections;public class HelloWorld : MonoBehaviour {// Use this for initializationvoid Start () {print("Hello World");Debug.Log("Hello World from Log");}// Update is called once per framevoid Update () {}}
保存。
先清空控制台内的调试信息。再次运行,可以看到通过Debug.Log方法生成的调试信息生效。
当然Debug还有其它静态方法,比如Debug.LogWarning, Debug.LogError,等等。
每过一帧执行脚本
在Update方法中,游戏每经过一帧都会执行这里的方法。修改HelloWorld类文件如下:
using UnityEngine;using System.Collections;public class HelloWorld : MonoBehaviour {// Use this for initializationvoid Start () {//print("Hello World");//Debug.Log("Hello World from Log");}// Update is called once per framevoid Update () {print("Hello World");}}
保存。
运行,看到print("Hello World")被执行了很多次。