MonoBehaviour在Unity 3D C#脚本中做了什么?

sha*_*fik 2 c# unity-game-engine

using UnityEngine;
using System.Collections;

public class VariablesAndFunctions : MonoBehaviour
{   
    int myInt = 5;
}
Run Code Online (Sandbox Code Playgroud)

完整的代码在这里是Unity官方教程

MonoBehaviour的目的是什么?

Dav*_*vid 16

MonoBehaviour是每个Unity脚本派生的基类.它提供了一些生命周期功能,使您可以更轻松地开发应用程序和游戏.一张图片胜过千言万语.

图片来源:https://docs.unity3d.com/uploads/Main/monobehaviour_flowchart.svg

在此输入图像描述

  • 除此之外,它还允许在编辑器中将其视为一个组件,以便您可以将其拖到检查器中。 (2认同)

Mus*_*man 7

虽然以下说法是正确的,

  • “MonoBehaviour 是每个 Unity 脚本派生自的基类”-

老实说,我觉得这可能会误导初学者。这句话 - “每个 Unity 脚本” - 是罪魁祸首。

它给初学者一个概念,即所有在 unity 中创建的脚本都必须扩展 Monobehaviour。事实并非如此。您可以创建包含扩展 c# 基对象类的类的脚本。这样做时,您的脚本将被归类为非 Unity 脚本,但没有什么能阻止它与其他 Unity 脚本交互,反之亦然。