Unity脚本基础规则
如何在Unity中创建一个脚本文件?
在Project
窗口中的Assets
目录下,选择合适的文件夹,右键,选择第一个Create
,在新出现的一栏中选择C# Script
,此时文件夹内会出现C#脚本图标,为其进行命名即可(注意:每个脚本的脚本名必须要和他的类名相同),等待引擎编译完成可以双击打开脚本:
脚本创建规则
- 尽可能不在脚本编辑器中创建脚本,如果创建需要返回引擎界面一次让Unity引擎将脚本进行编译后方可正常修改脚本内容,否则可能会引起大量警告、报错等。
- 脚本文件可以放在
Assets
文件夹下任何位置,但建议存放于同一文件夹(如Scripts
)。 - 脚本的类名和脚本名必须一致,修改类名或脚本名必须要手动修改另一个(因为Unity基于反射获取脚本信息,脚本文件名与类名不同将无法正确获取到对应类)。
- 建议不使用中文命名(会降低脚本文件美观性与可读性、不同编码计算机打开可能会出现乱码、在部分情况下中文命名会导致出现文件读取等方面的错误)。
- 无特殊需求的情况下,不需要单独设置命名空间。
- 创建的脚本会默认继承于
MonoBehavior
,有需要可以手动删除继承(没有继承该基类将无法挂载到场景对象上)。
MonoBehavior
基类是什么?
重要的类 - MonoBehaviour Unity3D官方文档
MonoBehaviour - Unity文档
MonoBehavior
是官方提供的一个脚本框架,提供了游戏运行时的各种事件等,每一个新建的脚本都会显式继承该类型,并且只有继承了该类型的脚本才可以附加到游戏对象中。
继承了MonoBehavior
的类将不能通过new
关键字进行实例化,只能通过挂载到游戏对象来获取到对应的类对象(因此脚本中的构造函数将不会有任何意义)。
继承已经继承了MonoBehavior
的类时,同样也可以直接挂载到场景当中。
同一个脚本可以多次挂载,如果需要只能单次挂载的功能,需要在类定义前添加DisallowMultipleComponent
属性。
不继承MonoBehavior
脚本使用方法
不继承MonoBehavior
的脚本无法挂载到场景中,但是他可以按照正常的类进行使用,通常会将数据类、工具单例类等等设置为不继承。
自定义脚本的执行顺序
我们可以通过点击脚本文件后在Inspector
中点击Execution Order...
打开自定义脚本运行设置面板:
也可以直接在Edit->Project Settings->Script Execution Order
中进行设置,其中Default Time
是所有未自定义顺序的脚本执行的时间。
脚本默认模板
在Unity中新建的脚本都会有一个如下的默认脚本结构,他的默认模板存储于Editor\Data\Resources\ScriptTemplates
中,如果有需要可以按照需求进行更改。