继承
Behaviour > Component > Object
介绍
MonoBehaviour提供了生命周期和一些对象相关事件,使Unity更容易开发。
公有变量
destroyCancellationToken | 当MonoBehaviour被销毁(只读)时引发取消令牌 |
didAwake | 返回一个布尔值,表示是否调用了Awake |
didStart | 返回一个布尔值,表示是否调用了Start |
runInEditMode | 是否允许 MonoBehaviour 的特定实例在编辑模式下运行 |
useGUILayout | 禁用此选项可让您跳过GUI布局阶段 |
公有方
公有方法
CancelInvoke | 取消该 MonoBehaviour 上的所有 Invoke 调用 |
Invoke | 在 time 秒后调用 methodName 方法 |
InvokeRepeating | 在 time 秒后调用 methodName 方法,然后每 repeatRate 秒调用一次。 |
IsInvoking | 是否有任何待处理的 methodName 调用 |
StartCoroutine | 启动协程 |
StopAllCoroutines | 停止在该行为上运行的所有协同程序 |
StopCoroutine | 停止在该行为上运行的第一个名为 methodName 的协同程序或存储在 routine 中的协同程序 |
公有变量
公有方
法
私有方法
生命周期 | |
Awake | Awake在生命周期第一个执行,脚本未激活但对象活动也会触发 |
Start | 在首次调用任何 Update 方法之前启用脚本时,在帧上调用 Start。 |
Update | 如果启用了 MonoBehaviour,则每帧调用 Update |
LateUpdate | LateUpdate 在调用所有 Update 函数后调用 |
FixedUpdate | 用于物理计算且独立于帧率的 MonoBehaviour.FixedUpdate消息 |
OnGui | 系统调用 OnGUI 来渲染和处理 GUI 事件。 |
OnEnable | 该函数在对象变为启用和激活状态时调用 |
OnDisable | 该函数在行为被禁用或对象变非活动时调用 |
OnDestroy | 被销毁时调用,注意对象如果是非活动状态不会调用 |
Reset | 重置脚本恢复初始状态 |
鼠标操作 | |
OnMouseDown | 鼠标点到该对象碰撞体时触发,不受UI遮挡 |
OnMouseDrag | 鼠标拖动该物体碰撞体时触发 |
OnMouseEnter | 鼠标进入该物体碰撞体时触发 |
OnMouseExit | 鼠标离开该物体碰撞体时触发 |
OnMouseOver | 鼠标停留在该物体碰撞体时触发 |
OnMouseUp | OnMouseDown后鼠标松开时触发 |
OnMouseUpAsButton | OnMouseDown后鼠标松开时触发,必须还在碰撞体上 |
碰撞检测 | |
OnCollisionEnter | 当该碰撞体/刚体已开始接触另一个刚体/碰撞体时,调用 OnCollisionEnter。 |
OnCollisionEnter2D | 当传入碰撞体与该对象的碰撞体接触时发送(仅限 2D 物理)。 |
OnCollisionExit | 当该碰撞体/刚体已停止接触另一个刚体/碰撞体时,调用 OnCollisionExit。 |
OnCollisionExit2D | 当另一个对象上的碰撞体停止接触该对象的碰撞体时发送(仅限 2D 物理)。 |
OnCollisionStay | OnCollisionStay is called once per frame for every Collider or Rigidbody that touches another Collider or Rigidbody. |
OnCollisionStay2D | 在另一个对象上的碰撞体正在接触该对象的碰撞体时发送每个帧(仅限 2D 物理) |
OnControllerColliderHit | 角色控制器碰撞函数,只能通过控制器里的移动方法才会触发 |
OnParticleCollision | 当粒子击中碰撞体时,将调用 OnParticleCollision |
OnParticleSystemStopped | 系统中的所有粒子都死亡时,便会调用 OnParticleSystemStopped,然后将不再产生新粒子。在调用 Stop 之后,或者超过非循环系统的 Duration 属性时,将停止产生新粒子 |
OnParticleTrigger | 粒子系统中的任何粒子满足触发模块中的条件时,将调用 OnParticleTrigger |
OnParticleUpdateJobScheduled | 调度粒子系统的内置更新作业时,会调用 OnParticleUpdateJobScheduled |
系统事件 | |
OnApplicationFocus | 游戏屏幕焦点切换时 |
OnApplicationPause | 游戏被暂停时,移动设备返回主页等 |
OnApplicationQuit | 退出游戏时 |
动画 | |
OnAnimatorIK | 用于设置动画 IK(反向运动学)的回调 |
OnAnimatorMove | 用于处理动画移动以修改根运动的回调,但在OnAnimatorIK之前 |
OnJointBreak | 在附加到相同游戏对象的关节断开时调用 |
OnJointBreak2D | 在附加到相同游戏对象的 Joint2D 断开时调用 |
渲染方面 | |
OnBecameInvisible | 在渲染器对任何摄像机都不可见时调用 |
OnBecameVisible | 在渲染器变为对任意摄像机可见时调用 |
OnDrawGizmos | 为该对象绘制辅助图标,使用Gizmos类 |
OnDrawGizmosSelected | 与OnDrawGizmos一样,只不过是要选中该物体才会显示 |
OnPostRender | Unity在相机渲染场景后调用的事件函数 |
OnPreCull | Unity在Camera剔除场景之前调用的Event函数 |
OnPreRender | Unity在Camera渲染场景之前调用的事件函数 |
OnRenderImage | Unity在相机完成渲染后调用的Event函数,它允许你修改相机的最终图像 |
OnRenderObject | 在摄像机渲染场景后,将调用 OnRenderObject |
OnWillRenderObject | 如果对象可见并且不是 UI 元素,则为每个摄像机调用 |
OnAudioFilterRead | 如果实现了 OnAudioFilterRead,Unity 将在音频 DSP 链中插入一个自定义滤波器 |
服务器 | |
OnConnectedToServer | 成功连接到服务器后在客户端上调用 |
OnDisconnectedFromServer | 当连接丢失或与服务器断开连接时,在客户端上调用 |
OnFailedToConnect | 出于某种原因连接尝试失败时,在客户端上调用 |
OnFailedToConnectToMasterServer | 在连接到 MasterServer 时发生问题的情况下,在客户端或服务器上调用 |
OnMasterServerEvent | 在从MasterServer 报告事件时,在客户端或服务器上调用 |
OnNetworkInstantiate | 在已通过 Network.Instantiate 进行网络实例化的对象上调用 |
OnPlayerConnected | 每当有新玩家成功连接,就在服务器上调用 |
OnPlayerDisconnected | 每当有玩家与服务器断开连接,就在服务器上调用 |
OnSerializeNetworkView | 用于在网络视图监视的脚本中自定义变量同步 |
OnServerInitialized | 每当调用 Network.InitializeServer 并且完成时,对该服务器调用该函数 |
OnSerializeNetworkView | 用于在网络视图监视的脚本中自定义变量同步 |
OnServerInitialized | 每当调用 Network.InitializeServer 并且完成时,对该服务器调用该函数 |
其他 | |
OnTransformChildrenChanged | 该对象子物体发生改变时 |
OnTransformParentChanged | 该对象父对象发生改变时 |
OnRectTransformRemoved | 未知 |
OnRectTransformDimensionsChange | 未知 |
OnValidate | Editor-only function that Unity calls when the script is loaded or a value changes in the Inspector. |
公有变量
公有方
法
静态方法
将消息记录到 Unity 控制台(与 Debug.Log 相同) |