Unity脚本基础规则

Unity脚本基础规则

如何在Unity中创建一个脚本文件?

Project窗口中的Assets目录下,选择合适的文件夹,右键,选择第一个Create,在新出现的一栏中选择C# Script,此时文件夹内会出现C#脚本图标,为其进行命名即可(注意:每个脚本的脚本名必须要和他的类名相同),等待引擎编译完成可以双击打开脚本:

脚本创建规则

  1. 尽可能不在脚本编辑器中创建脚本,如果创建需要返回引擎界面一次让Unity引擎将脚本进行编译后方可正常修改脚本内容,否则可能会引起大量警告、报错等。
  2. 脚本文件可以放在Assets文件夹下任何位置,但建议存放于同一文件夹(如Scripts)。
  3. 脚本的类名和脚本名必须一致,修改类名或脚本名必须要手动修改另一个(因为Unity基于反射获取脚本信息,脚本文件名与类名不同将无法正确获取到对应类)。
  4. 建议不使用中文命名(会降低脚本文件美观性与可读性、不同编码计算机打开可能会出现乱码、在部分情况下中文命名会导致出现文件读取等方面的错误)。
  5. 无特殊需求的情况下,不需要单独设置命名空间。
  6. 创建的脚本会默认继承于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中,如果有需要可以按照需求进行更改。

相关推荐
Magnum Lehar1 小时前
3d游戏引擎的Utilities模块实现下
c++·算法·游戏引擎
Flamesky1 小时前
Unity编辑器重新编译代码
unity·重新编译
虾球xz5 小时前
游戏引擎学习第277天:稀疏实体系统
c++·学习·游戏引擎
虾球xz7 小时前
游戏引擎学习第276天:调整身体动画
c++·学习·游戏引擎
虾球xz7 小时前
游戏引擎学习第275天:将旋转和剪切传递给渲染器
c++·学习·游戏引擎
虾球xz12 小时前
游戏引擎学习第268天:合并调试链表与分组
c++·学习·链表·游戏引擎
qq_59821175717 小时前
Unity.UGUI DrawCall合批笔记
笔记·unity·游戏引擎
南玖yy1 天前
C/C++ 内存管理深度解析:从内存分布到实践应用(malloc和new,free和delete的对比与使用,定位 new )
c语言·开发语言·c++·笔记·后端·游戏引擎·课程设计
Tech Synapse1 天前
Unity ML-Agents实战指南:构建多技能游戏AI训练系统
人工智能·游戏·unity
虾球xz1 天前
游戏引擎学习第272天:显式移动转换
c++·学习·游戏引擎