Mono子类C#脚本和非Mono子类C#脚本的区别

版权声明:转载请保留原文地址 https://blog.csdn.net/qq_42575535/article/details/81278436

简介:

在使用unity开发项目的过程中,我们通常会使用两种“C#脚本”。

1、Mono 子类 C#脚本:在 Project 面板上直接右键创建出来的 C#脚本,这种脚本默认直接继承 MonoBehaviour 类。

2、非 Mono 子类 C#脚本:同样按照上面的方式创建出来的脚本,但是手动取消了对 MonoBehaviour 类的继承。

区别:

1、Mono 子类 C#脚本

①这种脚本其实就是 Unity 中的自定义组件,可以直接挂载到 Unity 场景中任何游戏物体上;

②不需要我们使用 new 关键字进行实例化,只有挂载到了游戏物体上,运行起来后,unity 引擎会自动完成该脚本的对象实例化;

③脚本中含有生命周期方法(Awake,Start,Update......);相关文章:Unity常用生命周期事件

2、非 Mono 子类 C#脚本

①这种就是普通的 C#脚本,和 VS 项目中的 C#脚本一样,不是 Unity 中的组件,也就无法挂载到游戏物体上;

②必须使用 new 关键字进行类的对象的实例化;

③没有继承 Mono,也就没有生命周期方法;

④所有在 Mono 类中定义的方法,都无法使用,比如:Invoke 和协程。

什么情况下使用非Mono 子类 C#脚本?

当该脚本不需要挂载到游戏物体上的时候;

如开发过程中的数据实体类,工具类,对象池等。

猜你喜欢

转载自blog.csdn.net/qq_42575535/article/details/81278436
今日推荐