using UnityEngine;
using System.Collections;
public class VariablesAndFunctions : MonoBehaviour
{
int myInt = 5;
}
完整代码在这里Unity官方教程
MonoBehaviour的目的是什么
它给初学者一个概念:所有统一创建的脚本都必须扩展 Monobehaviour。事实并非如此。您可以创建包含扩展 C# 基对象类的类的脚本。这样做时,您的脚本将被归类为非 Unity 脚本,但没有什么可以阻止它与其他 Unity 脚本交互,反之亦然。
MonoBehaviour
是
VariablesAndFunctions
继承的另一个类。这允许继承者使用其他类的方法和变量,前提是它们具有正确的访问级别修饰符集。在下面的示例中,
Class1
继承自
Base
,因此可以使用
protected
方法
Method1
public class Base
{
protected void Method1 { /*...*/ }
}
public class Class1 : Base
{
public void Method2 { Method1(); }
}
请注意,在这个特定示例中,最好将
Method1
标记为
abstract
或
virtual
,这样
Class1
就可以像这样覆盖它:
protected override Method1()
{
//...
base.Method1(); //Call the implementation of Method1 in Base here
//...
}
特别是虽然 被描述为:
MonoBehaviour 是每个 Unity 脚本派生的基类。因此,在统一编写脚本时,您可以使用此基类来更好地控制事物的访问方式,这样您就不需要自己执行此操作。
如果您要查看文档,请单击
此处!
您将看到从该继承中获得的一堆变量和方法。 如:
Update ,它是主游戏循环,调用更新函数的速度基于您的 fps。但重要的是,如果您没有继承单一行为,您将无法访问此游戏循环。
从 Monobehavior 获得的另一个重要函数是 Start,它在脚本上调用一次,并在唤醒后调用,因此如果您想设置一些变量,可以在这里完成。需要注意的重要一点是,如果您创建了一个从无继承的简单 C# 类,您将无法访问所讨论的这些方法。 Monobehavior 使您可以访问许多可帮助您构建游戏的功能。
您的脚本还可以继承其他行为,例如 ScriptableObject 和 StateMachineBehaviour,它们使您可以访问其他方法,但 Monobehavior 是您的脚本继承的最常见行为。
还需要注意的是,每当您使用 Monobehavior 时,它都会附带转换,而其他一些脚本(Scriptable 对象)则不会附带转换。变换只是游戏/场景中游戏对象位于具有旋转和缩放的 x、y、z 坐标的位置。