包含此页的版本:
不含此页的版本:
MonoBehaviour 类提供了一个框架,允许您将脚本附加到游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表在编辑器中。它还提供了有用的事件(如启动和更新)的钩子。
您可以创建新的 MonoBehaviour脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表在编辑器中,如创建脚本中所述。
有关 MonoBehaviour 类的每个成员的完整参考及其技术细节,请参阅 MonoBehaviour 脚本参考。
双击 Unity 中的脚本资产,在文本编辑器中将其打开。默认情况下,Unity 使用 Visual Studio,但您可以从 Unity 首选项(菜单:Unity >首选项)的“外部工具”面板中选择任何您喜欢的编辑器。
如果您选择创建 MonoBehaviour 脚本,则文件的初始内容将如下所示:
using UnityEngine;
using System.Collections;
public class NewMonoBehaviourScript : MonoBehaviour {
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
该脚本通过实现一个派生自名为MonoBehaviour.你可以将类视为一种蓝图,用于创建可附加到游戏对象的新组件类型。每次将脚本组件附加到游戏对象时,它都会创建蓝图定义的对象的新实例。类的名称取自创建文件时提供的名称。最佳做法是保持类名和文件名同步,请参阅命名注意事项。
然而,需要注意的主要事项是在类中定义的两个函数。Update 函数是放置将处理游戏对象帧更新的代码的位置。这可能包括移动、触发作和响应用户输入,基本上是游戏过程中需要随着时间的推移处理的任何事情。为了使 Update 函数能够完成其工作,能够在任何游戏作发生之前设置变量、读取首选项并与其他游戏对象建立连接通常很有用。Unity 将在游戏开始前(首次调用 Update 函数之前)调用 Start 函数,并且是执行任何初始化的理想位置。
注意:有经验的程序员可能会惊讶地发现,对象的初始化不是使用构造函数完成的。这是因为对象的构造由 Unity 编辑器处理,而不是像您预期的那样在游戏开始时发生。如果您尝试为 MonoBehaviour 定义构造函数,它会干扰 Unity 的正常运行,并可能导致项目出现重大问题。
脚本仅定义组件的蓝图,因此在脚本的实例附加到游戏对象之前,其任何代码都不会处于活动状态。您可以通过将脚本资产拖动到层次结构面板中的游戏对象或检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表当前选择的游戏对象。组件菜单上还有一个脚本子菜单,其中包含项目中所有可用的脚本,包括你自己创建的脚本。脚本实例看起来与检查器中的任何其他组件非常相似:
附加后,当您按 Play 并运行游戏时,脚本将开始工作。您可以通过在Start功能:
// Use this for initialization
void Start ()
{
Debug.Log("Hello world!");
}
Debug.Log 是一个简单的命令,它只是将消息打印到 Unity 的控制台输出。如果按下 立即运行(Play now),你应该会在编辑器主窗口的底部和 控制台(Console) 窗口(菜单:窗口(Window) > 常规(General) > 游戏机 游戏机
的缩写 见词汇表).
MonoBehaviour 类允许您启动、停止和管理协程。
如需详细了解协程,请参阅协程和 StartCoroutine 方法脚本参考。
MonoBehaviour 类提供了对大量事件函数的访问,它允许您根据项目中当前发生的情况执行代码。以下是一些更常见的示例。有关所有这些示例的列表,请参阅 MonoBehaviour 脚本参考页面上的 消息 部分