Unity内置的方法Start()方法MonoBehaviour.startConsole视图C#游戏开发快速入门大学霸
Unity内置的方法Start()方法MonoBehaviour.startConsole视图C#游戏开发快速入门大学霸
4.4 Unity内置的方法Unity内置的方法Start()方法MonoBehaviour.startConsole视图C#游戏开发快速入门大学霸
在Unity中新建的脚本文件,里面会自动添加一些代码,如图4-5所示。读者在学习完方法以后,有没有觉得自动添加的代码中,Start()和Update()的书写形式很像方法。没错,它们就是方法。只不过它们是Unity内置的方法,他们会被游戏程序调用。
图4-5 脚本中Unity自动添加的代码Unity内置的方法Start()方法MonoBehaviour.startConsole视图C#游戏开发快速入门大学霸
因为这两个方法在脚本中很常用,所以Unity直接在新建的脚本中添加了它们。那么,读者可能要问了,这两个方法会如何作用于游戏对象呢?代码中使用了注释(双斜杠“//”以及后面的部分就是注释)对这两个方法进行了简单的说明:前者在初始化时被调用,后者在游戏运行过程的每一帧被调用。如果读者并不满足于注释上的解释,可以考虑查阅Unity的帮助文档。在第1章中,作者介绍过帮助文档的打开和检索方式,忘了的话可以去复习以下。
现以查找Start()方法的使用说明为例。在帮助文档的检索框中输入MonoBehaviour.start,开始查找。一般情况下会查找出很多结果,选择需要的结果,打开它就可以了。整个过程如图4-6所示。
在帮助文档中,会首先对这个方法的功能和使用步骤做简要说明,并在最后给出这个方法的使用示例。
提示:Unity 的脚本可以使用三种语言编写,它们是C#、JavaScript和Boo,因此帮助文档会给出分别使用这3种语言的使用示例。因为本书讲解时使用的语言是C#,所以建议读者看C#语言编写的示例。
图4-6 使用Unity提供的帮助文档,查看Start()方法的使用说明Unity内置的方法Start()方法MonoBehaviour.startConsole视图C#游戏开发快速入门大学霸
下面使用一个示例来说明,Unity内置方法Start()和Update()的使用。示例的操作步骤如下:
(1)打开脚本MyScript,为其添加下面的代码:
01 using UnityEngine;
02 using System.Collections;
03
04 public class MyScript : MonoBehaviour
05 {
06 private int frameCount = 0;
07 void Start()
08 {
09 Debug.Log (“这是Start()里输出的信息”);
10 }
11 void Update()
12 {
13 frameCount++;
14 if(frameCount == 100)
15 {
16 Debug.Log (“这是Update()里输出的信息”);
17 frameCount = 0;
18 }
19 }
20 }
新添加的代码,分别为Start()和Update()添加了一条语句(09行)和多条语句(13~18行),实现的功能均是在Unity的Console视图里输出一行文本信息。读者可以从输出的信息中了解到,Start()和Update()的调用情况。
(2)运行游戏,这次观察的焦点不是Game视图,而是Console视图,输出的文本信息,如图4-7所示。
图4-7 Console视图的文本信息输出结果Unity内置的方法Start()方法MonoBehaviour.startConsole视图C#游戏开发快速入门大学霸
通过Unity提供的帮助文档,读者应该了解到,方法Start()是在游戏对象初始化的时候调用,且是在Update()前被调用。因此,Console视图中首先输出的是Start()方法里的文本信息,而后Update()方法才被调用,因此随后就输出了Update()方法里的文本信息。并且,由于Update()方法在每帧都会被调用,因此Update()方法里的文本信息会在游戏运行的过程中,持续输出。
提示:如果让Update()方法每帧都输出信息的话,Console视图很快就会被“刷屏”了。为了阻止这种现象的发生,脚本代码只是让Update()方法每100帧输出一次文本信息,但是Update()方法依然在每帧被调用Unity内置的方法Start()方法MonoBehaviour.startConsole视图C#游戏开发快速入门大学霸。
Comments are closed.