描述
MonoBehaviour 是一个基类,所有 Unity 脚本都派生自该类。
使用 C# 时,必须显式派生自 MonoBehaviour。
该类不支持 null 条件运算符 (?.) 和 null 合并运算符 (??)。
注意:在 Unity 编辑器中有一个用于启用或禁用 MonoBehaviour 的复选框。它在取消 勾选时会禁用函数。如果这些函数在脚本中都不存在,则 Unity 编辑器不 显示该复选框。这些函数是:
Start() Update() FixedUpdate() LateUpdate() OnGUI() OnDisable() OnEnable()
公共函数
静态函数
函数名 | 作用 |
将消息记录到 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- | 禁用组件 |
基于MonoBehaviour->OnDrawGizmosSelected或者OnDrawGizmos->Gizmos(class in UnityEngine)
Gizmos
辅助图标用于协助在 Scene 视图中进行视觉调试或设置。
所有辅助图标绘图都必须在此脚本的 OnDrawGizmos 或 OnDrawGizmosSelected 函数中进行。\ 每一*帧都调用 OnDrawGizmos或 OnDrawGizmosSelected 。在 OnDrawGizmos或 OnDrawGizmosSelected 中渲染的所有辅助图标均可选择。 仅在选择了附加此脚本的对象时才调用 OnDrawGizmos/OnDrawGizmosSelected。
静态变量
- 静态函数
P1privatevoidOnDrawGizmosSelected() { Gizmos.color=Color.black; Gizmos.DrawWireSphere(transform.position, 范围); }
p1效果图
总结
重点标记性文字设置
具体的标记性正文