Solución:
MonoBehaviour es la clase base de la que deriva cada script de Unity. Ofrece algunas funciones de ciclo de vida que le facilitan el desarrollo de su aplicación y juego. Una imagen vale miles de palabras.
Fuente de la imagen: https://docs.unity3d.com/uploads/Main/monobehaviour_flowchart.svg
Si bien la siguiente afirmación es correcta,
- “MonoBehaviour es la clase base de la que deriva cada script de Unity” –
Sinceramente, creo que puede ser engañoso para los principiantes. La frase – “todos los guiones de Unity” – es la culpable.
Le da al principiante la noción de que todos los guiones creados en unidad deben extender Monobehaviour. Que no es el caso. Puede crear scripts que alberguen clases que amplíen la clase de objeto base de c #. Al hacerlo, su secuencia de comandos se clasifica como no una secuencia de comandos de Unity, pero nada le impide interactuar con otras secuencias de comandos de Unity y viceversa.
MonoBehaviour
es otra clase que VariablesAndFunctions
está heredando. Esto permite al heredero utilizar los métodos y variables de la otra clase siempre que tengan el conjunto de modificadores de nivel de acceso correcto.
En el siguiente ejemplo Class1
hereda de Base
y así puede usar el protected
método Method1
public class Base
{
protected void Method1 { /*...*/ }
}
public class Class1 : Base
{
public void Method2 { Method1(); }
}
Tenga en cuenta que en este ejemplo particular sería mejor para Method1
ser marcado como abstract
o virtual
por lo que entonces Class1
puede anularlo así:
protected override Method1()
{
//...
base.Method1(); //Call the implementation of Method1 in Base here
//...
}
En particular aunque MonoBehaviour
se describe como:
MonoBehaviour es la clase base de la que deriva cada script de Unity.
Por lo tanto, al hacer scripts en unidad, usa esta clase base para controlar mejor cómo se accede a las cosas, de modo que no tenga que hacerlo usted mismo.