C# Unity 3D中的单行为是什么?
完整的代码在这里C# Unity 3D中的单行为是什么?,c#,unity3d,C#,Unity3d,完整的代码在这里 monobhaviormonobhavior的目的是什么是另一个继承自变量和函数的类。这允许继承者使用其他类的方法和变量,前提是它们具有正确的访问级别修饰符集 在下面的示例中,Class1继承自Base,因此可以使用protected方法Method1 using UnityEngine; using System.Collections; public class VariablesAndFunctions : MonoBehaviour { int myIn
monobhavior
monobhavior
的目的是什么是另一个继承自变量和函数的类。这允许继承者使用其他类的方法和变量,前提是它们具有正确的访问级别修饰符集
在下面的示例中,Class1
继承自Base
,因此可以使用protected
方法Method1
using UnityEngine;
using System.Collections;
public class VariablesAndFunctions : MonoBehaviour
{
int myInt = 5;
}
注意:在这个特定示例中,最好将Method1
标记为abstract
或virtual
,这样Class1
就可以像这样覆盖它:
public class Base
{
protected void Method1 { /*...*/ }
}
public class Class1 : Base
{
public void Method2 { Method1(); }
}
特别是,尽管被描述为:
MonoBehavior是每个Unity脚本派生的基类
因此,在unity中编写脚本时,您可以使用此基类更好地控制如何访问内容,这样您就不需要自己编写了。MonoBehavior是每个unity脚本的派生基类。它提供了一些生命周期功能,便于您开发应用程序和游戏。
一幅画抵得上千言万语
图像来源:
虽然下面的陈述是正确的
- “MonoBehavior是每个Unity脚本派生的基类”-
老实说,我觉得这可能会误导初学者。“每一个统一剧本”是罪魁祸首
它给初学者一个概念,即在unity中创建的所有脚本都必须扩展MonoBehavior。事实并非如此。您可以创建包含扩展c#基本对象类的类的脚本。在这样做时,您的脚本将被归类为非Unity脚本,但没有任何东西阻止它与其他Unity脚本交互,反之亦然。它是一个提供诸如Start()、Update()等entrymethods的类,因此您不必担心这些事情。明白了吗。谢谢:)你应该读一些C#basics。在求助之前,你真的应该试试搜索引擎。Google“什么是unity3d MonoBehavior”-第一个热门话题是解释它的官方文档。@Shafiksaon它的意思是MonoBehavior
是一个基类,VariablesAndFunctions
是一个继承自它的类,只是为了增加它,它还允许在编辑器中将其视为组件,以便您可以将其拖动到inspector中。这是一个有效且有趣的观点,但对我来说,最初的问题(当然也太模糊了)更多的是关于超类声明最初的实际含义。否则,我猜他们会问关于monobhavior
类是什么和做什么的。您的回答开启了一个不同的讨论:一个关于体系结构的讨论。感谢您澄清这一点——我的想法正是这样的:MonoBehavior是c#版本的“所有Java类都源自对象”
protected override Method1()
{
//...
base.Method1(); //Call the implementation of Method1 in Base here
//...
}