zl程序教程

您现在的位置是:首页 >  其他

当前栏目

unity3d-MonoBehaviour基类

2023-03-14 22:53:04 时间

MonoBehaviour命名空间


✨学习阶段我会不断的更新新的内容,文章如有误请指正,如果觉得对你有用,请点赞收藏关注一波,谢谢支持😘

描述

公共函数

静态函数

消息

继承的成员

公共函数

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

Gizmos

总结

✨学习阶段我会不断的更新新的内容,文章如有误请指正,如果觉得对你有用,请点赞收藏关注一波,谢谢支持😘

提示:以下是本篇文章正文内容


描述


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。
AwakeAwake 在加载脚本实例时调用。
FixedUpdate用于物理计算且独立于帧率的 MonoBehaviour.FixedUpdate 消息。
LateUpdate如果启用了 该行为,则每帧调用 LateUpdate,在上一帧执行之后。
OnCollisionEnter当该碰撞体/刚体已开始接触另一个刚体/碰撞体时,调用 OnCollisionEnter。
OnCollisionEnter2D当传入碰撞体与该对象的碰撞体接触时发送(仅限 2D 物理)。
OnCollisionExit当该碰撞体/刚体已停止接触另一个刚体/碰撞体时,调用 OnCollisionExit。
OnCollisionExit2D当另一个对象上的碰撞体停止接触该对象的碰撞体时发送(仅限 2D 物理)。
OnCollisionStay对应正在接触刚体/碰撞体的每一个碰撞体/刚体,每帧调用一次 :ref::OnCollisionStay。
OnCollisionStay2D在另一个对象上的碰撞体正在接触该对象的碰撞体时发送每个帧(仅限 2D 物理)。
OnTriggerEnterObject 与另一个 GameObject 碰撞时,Unity 会调用 OnTriggerEnter。
OnTriggerEnter2D一个对象进入附加到该对象的触发碰撞体时发送(仅限 2D 物理)。
OnTriggerExitollider 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 链中插入一个自定义滤波器。
OnBecameInvisibleOnBecameInvisible 在渲染器对任何摄像机都不可见时调用。
OnBecameVisibleOnBecameVisible 在渲染器变为对任意摄像机可见时调用。
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

P1
private void OnDrawGizmosSelected()
{
    Gizmos.color = Color.black;
    Gizmos.DrawWireSphere(transform.position, 范围);
}

p1效果图

image.png

总结


重点标记性文字设置

具体的标记性正文

具体的标记性正文

具体的标记性正文

具体的标记性正文

具体的标记性正文

具体的标记性正文