unity3d-MonoBehaviour基类

简介: unity3d-MonoBehaviour基类

描述


MonoBehaviour 是一个基类,所有 Unity 脚本都派生自该类。

使用 C# 时,必须显式派生自 MonoBehaviour。

该类不支持 null 条件运算符 (?.) 和 null 合并运算符 (??)。

注意:在 Unity 编辑器中有一个用于启用或禁用 MonoBehaviour 的复选框。它在取消 勾选时会禁用函数。如果这些函数在脚本中都不存在,则 Unity 编辑器不 显示该复选框。这些函数是:

Start()
Update()
FixedUpdate()
LateUpdate()
OnGUI()
OnDisable()
OnEnable()

公共函数


image.png

静态函数


函数名 作用
print 将消息记录到 Unity 控制台(与 Debug.Log 相同)。

消息


消息名 作用
Start 在首次调用任何 Update 方法之前启用脚本时,在帧上调用 Start。
Update 如果启用了 MonoBehaviour,则每帧调用 Update。
Awake Awake 在加载脚本实例时调用。
FixedUpdate 用于物理计算且独立于帧率的 MonoBehaviour.FixedUpdate 消息。
LateUpdate 如果启用了 该行为,则每帧调用 LateUpdate,在上一帧执行之后。
OnCollisionEnter 当该碰撞体/刚体已开始接触另一个刚体/碰撞体时,调用 OnCollisionEnter。
OnCollisionEnter2D 当传入碰撞体与该对象的碰撞体接触时发送(仅限 2D 物理)。
OnCollisionExit 当该碰撞体/刚体已停止接触另一个刚体/碰撞体时,调用 OnCollisionExit。
OnCollisionExit2D 当另一个对象上的碰撞体停止接触该对象的碰撞体时发送(仅限 2D 物理)。
OnCollisionStay 对应正在接触刚体/碰撞体的每一个碰撞体/刚体,每帧调用一次 :ref::OnCollisionStay。
OnCollisionStay2D 在另一个对象上的碰撞体正在接触该对象的碰撞体时发送每个帧(仅限 2D 物理)。
OnTriggerEnter Object 与另一个 GameObject 碰撞时,Unity 会调用 OnTriggerEnter。
OnTriggerEnter2D 一个对象进入附加到该对象的触发碰撞体时发送(仅限 2D 物理)。
OnTriggerExit ollider other 已停止接触该触发器时调用 OnTriggerExit。
OnTriggerExit2D 一个对象离开附加到该对象的触发碰撞体时发送(仅限 2D 物理)。
OnTriggerStay 接触触发器的每一个 Collider /other/,每次物理更新调用一次 OnTriggerStay。
OnTriggerStay2D 一个对象位于附加到该对象的触发碰撞体之内时发送每个帧(仅限 2D 物理)。
OnDrawGizmos 如果您想绘制能够选择并且始终绘制的辅助图标,则可以实现 OnDrawGizmos。
OnDrawGizmosSelected 如果选择了对象,则实现 OnDrawGizmosSelected 来绘制辅助图标。P1
OnEnable 该函数在对象变为启用和激活状态时调用。
OnDestroy 销毁附加的行为将导致游戏或场景收到 OnDestroy。
OnDisable 该函数在行为被禁用时调用。在Ondestroy后执行
✔✔✔✔✔✔
OnAnimatorMove 用于处理动画移动以修改根运动的回调。
OnApplicationFocus 当玩家获得或失去焦点时,发送给所有 GameObject。
OnApplicationPause 当应用程序暂停时,发送给所有 GameObject。
OnApplicationQuit 在应用程序退出前,发送给所有游戏对象。
OnAudioFilterRead 如果实现了 OnAudioFilterRead,Unity 将在音频 DSP 链中插入一个自定义滤波器。
OnBecameInvisible OnBecameInvisible 在渲染器对任何摄像机都不可见时调用。
OnBecameVisible OnBecameVisible 在渲染器变为对任意摄像机可见时调用。
OnConnectedToServer 成功连接到服务器后在客户端上调用。
OnControllerColliderHit 当该控制器在执行 Move 时撞到碰撞体时调用 OnControllerColliderHit。
OnDisconnectedFromServer 当连接丢失或与服务器断开连接时,在客户端上调用。
OnFailedToConnect 出于某种原因连接尝试失败时,在客户端上调用。
OnFailedToConnectToMasterServer 在连接到 MasterServer 时发生问题的情况下,在客户端或服务器上调用。
OnGUI 系统调用 OnGUI 来渲染和处理 GUI 事件。
OnJointBreak 在附加到相同游戏对象的关节断开时调用。
OnJointBreak2D 在附加到相同游戏对象的 Joint2D 断开时调用。
OnMasterServerEvent 在从 MasterServer 报告事件时,在客户端或服务器上调用。
OnMouseDown 当用户在 Collider 上按下鼠标按钮时,将调用 OnMouseDown。
OnMouseDrag 当用户单击 Collider 并仍然按住鼠标时,将调用 OnMouseDrag。
OnMouseEnter 当鼠标进入 Collider 时调用。
OnMouseExit 当鼠标不再处于 Collider 上方时调用。
OnMouseOver 当鼠标悬停在 Collider 上时,每帧调用一次。
OnMouseUp 当用户松开鼠标按钮时,将调用 OnMouseUp。
OnMouseUpAsButton 松开鼠标时,仅当鼠标在按下时所在的 Collider 上时,才调用 OnMouseUpAsButton。
OnNetworkInstantiate 在已通过 Network.Instantiate 进行网络实例化的对象上调用。
OnParticleCollision 当粒子击中碰撞体时,将调用 OnParticleCollision。
OnParticleSystemStopped 系统中的所有粒子都死亡时,便会调用 OnParticleSystemStopped,然后将不再产生新粒子。在调用 Stop 之后,或者超过非循环系统的 Duration 属性时,将停止产生新粒子。
OnParticleTrigger 粒子系统中的任何粒子满足触发模块中的条件时,将调用 OnParticleTrigger。
OnParticleUpdateJobScheduled 调度粒子系统的内置更新作业时,会调用 OnParticleUpdateJobScheduled。
OnPlayerConnected 每当有新玩家成功连接,就在服务器上调用。
OnPlayerDisconnected 每当有玩家与服务器断开连接,就在服务器上调用。
OnPostRender 在摄像机完成场景渲染后,将调用 OnPostRender。
OnPreCull 在摄像机剔除场景前,将调用 OnPreCull。
OnPreRender 在摄像机开始渲染场景前,将调用 OnPreRender。
OnRenderImage OnRenderImage 在图像的所有渲染操作全部完成后调用。
OnRenderObject 在摄像机渲染场景后,将调用 OnRenderObject。
OnSerializeNetworkView 用于在网络视图监视的脚本中自定义变量同步。
OnServerInitialized 每当调用 Network.InitializeServer 并且完成时,对该服务器调用该函数。
OnTransformChildrenChanged 当 GameObject 的变换的子项列表发生更改时,将调用该函数。
OnTransformParentChanged 当 GameObject 的变换的父属性发生更改时,将调用该函数。
OnValidate 加载脚本后或检视面板中的值发生更改时,将调用此函数(只能在编辑器中调用)。
OnWillRenderObject 如果对象可见并且不是 UI 元素,则为每个摄像机调用 OnWillRenderObject。
Reset 重置为默认值。

继承的成员


变量
enabled- 禁用组件

image.png

基于MonoBehaviour->OnDrawGizmosSelected或者OnDrawGizmos->Gizmos(class in UnityEngine)


Gizmos


辅助图标用于协助在 Scene 视图中进行视觉调试或设置。


所有辅助图标绘图都必须在此脚本的 OnDrawGizmos 或 OnDrawGizmosSelected 函数中进行。\ 每一*帧都调用 OnDrawGizmos或 OnDrawGizmosSelected 。在 OnDrawGizmos或 OnDrawGizmosSelected 中渲染的所有辅助图标均可选择。 仅在选择了附加此脚本的对象时才调用 OnDrawGizmos/OnDrawGizmosSelected。


静态变量

image.png

  • 静态函数

image.png

P1privatevoidOnDrawGizmosSelected()
{
Gizmos.color=Color.black;
Gizmos.DrawWireSphere(transform.position, 范围);
}

p1效果图

image.png

总结


重点标记性文字设置

具体的标记性正文



相关文章
|
7月前
Qt提升控件类为自定义类
Qt提升控件类为自定义类
259 0
|
7月前
|
开发者
Qt 布局(QSplitter 类&QDockWidget 类) 总结
Qt 布局(QSplitter 类&QDockWidget 类) 总结
Qt 布局(QSplitter 类&QDockWidget 类) 总结
|
7月前
|
C++ 存储 容器
Qt QList类和QLinkedList类 详解
Qt QList类和QLinkedList类 详解
|
API Android开发 容器
Flutter控件之基类Widget封装
基类的Widget主要确定以下几个方面,第一就是,自定义一个抽象类还是非抽象类,第二、继承方式,采取有状态还是无状态,第三、关于组件的点击方式,如何进行实现。
167 0
|
前端开发 JavaScript 数据处理
Qt-QML-QML调用C++类
Qt-QML-QML调用C++类
189 0
Qt-QML-QML调用C++类
|
Dart
【Flutter】Dart 面向对象 ( 类定义 | 类的继承 | 私有变量 | 可选参数 | 默认参数 | 初始化列表 )(一)
【Flutter】Dart 面向对象 ( 类定义 | 类的继承 | 私有变量 | 可选参数 | 默认参数 | 初始化列表 )(一)
395 0
Unity 3D委托entrust
Unity 3D委托的多种用法 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar ——...
1105 0