Unity3D——MonoBehaviour api函数 调用时序剖析(From 圣典)

MonoBehaviour Mono行为

Inherits from Behaviour

MonoBehaviour is the base class every script derives from.

MonoBehaviour是每个脚本的基类.

Using Javascript every script automatically derives from MonoBehaviour. When using C# or Boo you have to explicitly derive from MonoBehaviour.

每个Javascript脚本自动继承MonoBehaviour,使用C#或Boo时,需要显式继承MonoBehaviour.

Note: The checkbox for disabling a MonoBehavior (on the editor) will only prevent Start(), Awake(), Update(), FixedUpdate(), and OnGUI() from executing. If none of these functions are present, the checkbox is not displayed.

注意:MonoBehavior对象(编辑器中)的复选框,只有在其有Start(),Awake(),Update(), FixedUpdate()和 OnGUI()函数时显示,没有这些函数时则隐藏。(另注:译者在PC上Windows平台测试结果与此注释所描述情况不符)

Variables变量

  • useGUILayout
    Disabling this lets you skip the GUI layout phase.
    禁用此项,将会跳过GUILayout布局阶段。

Functions函数

  • Invoke
    Invokes the method methodName in time seconds.
    在time秒调用methodName方法;简单说,根据时间调用指定方法名的方法
  • InvokeRepeating
    Invokes the method methodName in time seconds.
    在time秒调用methodName方法;简单说,每隔指定时间调用指定方法名的方法
  • CancelInvoke
    Cancels all Invoke calls on this MonoBehaviour.
    取消这个MonoBehaviour上的所有调用
  • IsInvoking
    Is any invoke on methodName pending?
    某指定函数是否在等候调用。
  • StartCoroutine
    Starts a coroutine.
    开始协同程序。
  • StopCoroutine
    Stops all coroutines named methodName running on this behaviour.
    停止这个动作中名为methodName的所有协同程序
  • StopAllCoroutines
    Stops all coroutines running on this behaviour.
    停止所有动作的协同程序

Overridable Functions可重写函数

运作时序图:


  • Update
    Update is called every frame, if the MonoBehaviour is enabled.
    当MonoBehaviour启用时,其Update在每一帧被调用。
  • LateUpdate
    LateUpdate is called every frame, if the Behaviour is enabled.
    当Behaviour启用时,其LateUpdate在每一帧被调用。
  • FixedUpdate
    This function is called every fixed framerate frame, if the MonoBehaviour is enabled.
    当MonoBehaviour启用时,其 FixedUpdate 在每一帧被调用。
  • Awake
    Awake is called when the script instance is being loaded.
    当一个脚本实例被载入时Awake被调用。
  • Start
    Start is called just before any of the Update methods is called the first time.
    Start仅在Update函数第一次被调用前调用。
  • Reset
    Reset to default values.
    重置为默认值。
  • OnMouseEnter
    OnMouseEnter is called when the mouse entered the GUIElement or Collider.
    当鼠标进入到GUIElement(GUI元素)或Collider(碰撞体)中时调用OnMouseEnter。
  • OnMouseOver
    OnMouseOver is called every frame while the mouse is over the GUIElement or Collider.
    当鼠标悬浮在GUIElement(GUI元素)或Collider(碰撞体)上时调用 OnMouseOver .
  • OnMouseExit
    OnMouseExit is called when the mouse is not any longer over the GUIElement or Collider.
    当鼠标移出GUIElement(GUI元素)或Collider(碰撞体)上时调用OnMouseExit。
  • OnMouseDown
    OnMouseDown is called when the user has pressed the mouse button while over the GUIElement or Collider.
    当鼠标在GUIElement(GUI元素)或Collider(碰撞体)上点击时调用OnMouseDown。
  • OnMouseUp
    OnMouseUp is called when the user has released the mouse button.
    当用户释放鼠标按钮时调用OnMouseUp。
  • OnMouseUpAsButton
    OnMouseUpAsButton is only called when the mouse is released over the same GUIElement or Collider as it was pressed.
    OnMouseUpAsButton只有当鼠标在同一个 GUIElement或 Collider按下,在释放时调用。
  • OnMouseDrag
    OnMouseDrag is called when the user has clicked on a GUIElement or Collider and is still holding down the mouse.
    当用户鼠标拖拽GUIElement(GUI元素)或Collider(碰撞体)时调用 OnMouseDrag 。
  • OnTriggerEnter
    OnTriggerEnter is called when the Collider other enters the trigger.
    当Collider(碰撞体)进入trigger(触发器)时调用OnTriggerEnter。
  • OnTriggerExit
    OnTriggerExit is called when the Collider other has stopped touching the trigger.
    当Collider(碰撞体)停止触发trigger(触发器)时调用OnTriggerExit。
  • OnTriggerStay
    OnTriggerStay is called once per frame for every Collider other that is touching the trigger.
    当碰撞体接触触发器时,OnTriggerStay将在每一帧被调用。
  • OnCollisionEnter
    OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider.
    当此collider/rigidbody触发另一个rigidbody/collider时,OnCollisionEnter将被调用。
  • OnCollisionExit
    OnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider.
    当此collider/rigidbody停止触发另一个rigidbody/collider时,OnCollisionExit将被调用。
  • OnCollisionStay
    OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider.
    当此collider/rigidbody触发另一个rigidbody/collider时,OnCollisionStay将会在每一帧被调用。
  • OnControllerColliderHit
    OnControllerColliderHit is called when the controller hits a collider while performing a Move.
    在移动的时,当controller碰撞到collider时OnControllerColliderHit被调用。
  • OnJointBreak
    Called when a joint attached to the same game object broke.
    当附在同一对象上的关节被断开时调用。
  • OnParticleCollision
    OnParticleCollision is called when a particle hits a collider.
    当粒子碰到collider时被调用。
  • OnBecameVisible
    OnBecameVisible is called when the renderer became visible by any camera.
    当renderer(渲染器)在任何相机上可见时调用OnBecameVisible。
  • OnBecameInvisible
    OnBecameInvisible is called when the renderer is no longer visible by any camera.
    当renderer(渲染器)在任何相机上都不可见时调用OnBecameInvisible。
  • OnLevelWasLoaded
    This function is called after a new level was loaded.
    当一个新关卡被载入时此函数被调用。
  • OnEnable
    This function is called when the object becomes enabled and active.
    当对象变为可用或激活状态时此函数被调用。
  • OnDisable
    This function is called when the behaviour becomes disabled () or inactive.
    当对象变为不可用或非激活状态时此函数被调用。
  • OnDestroy
    This function is called when the MonoBehaviour will be destroyed.
    当MonoBehaviour将被销毁时,这个函数被调用。
  • OnPreCull
    OnPreCull is called before a camera culls the scene.
    在相机消隐场景之前被调用。
  • OnPreRender
    OnPreRender is called before a camera starts rendering the scene.
    在相机渲染场景之前被调用。
  • OnPostRender
    OnPostRender is called after a camera finished rendering the scene.
    在相机完成场景渲染之后被调用。
  • OnRenderObject
    OnRenderObject is called after camera has rendered the scene.
    在相机场景渲染完成后被调用。
  • OnWillRenderObject
    OnWillRenderObject is called once for each camera if the object is visible.
    如果对象可见每个相机都会调用它。
  • OnGUI
    OnGUI is called for rendering and handling GUI events.
    渲染和处理GUI事件时调用。
  • OnRenderImage
    OnRenderImage is called after all rendering is complete to render image
    当完成所有渲染图片后被调用,用来渲染图片后期效果。
  • OnDrawGizmosSelected
    Implement this OnDrawGizmosSelected if you want to draw gizmos only if the object is selected.
    如果你想在物体被选中时绘制gizmos,执行这个函数。
  • OnDrawGizmos
    Implement this OnDrawGizmos if you want to draw gizmos that are also pickable and always drawn.
    如果你想绘制可被点选的gizmos,执行这个函数。
  • OnApplicationPause
    Sent to all game objects when the player pauses.
    当玩家暂停时发送到所有的游戏物体。
  • OnApplicationFocus
    Sent to all game objects when the player gets or looses focus.
    当玩家获得或失去焦点时发送给所有游戏物体。
  • OnApplicationQuit
    Sent to all game objects before the application is quit.
    在应用退出之前发送给所有的游戏物体。
  • OnPlayerConnected
    Called on the server whenever a new player has successfully connected.
    当一个新玩家成功连接时在服务器上被调用。
  • OnServerInitialized
    Called on the server whenever a Network.InitializeServer was invoked and has completed.
    当Network.InitializeServer被调用并完成时,在服务器上调用这个函数。
  • OnConnectedToServer
    Called on the client when you have successfully connected to a server
    当你成功连接到服务器时,在客户端调用。
  • OnPlayerDisconnected
    Called on the server whenever a player disconnected from the server.
    当一个玩家从服务器上断开时在服务器端调用。
  • OnDisconnectedFromServer
    Called on the client when the connection was lost or you disconnected from the server.
    当失去连接或从服务器端断开时在客户端调用。
  • OnFailedToConnect
    Called on the client when a connection attempt fails for some reason.
    当一个连接因为某些原因失败时在客户端调用。
  • OnFailedToConnectToM...
    Called on clients or servers when there is a problem connecting to the MasterServer.
    当报告事件来自主服务器时在客户端或服务器端调用。
  • OnMasterServerEvent
    Called on clients or servers when reporting events from the MasterServer.
    当报告事件来自主服务器时在客户端或服务器端调用。
  • OnNetworkInstantiate
    Called on objects which have been network instantiated with Network.Instantiate
    当一个物体使用Network.Instantiate进行网络初始化时调用。
  • OnSerializeNetworkView
    Used to customize synchronization of variables in a script watched by a network view.
    在一个网络视图脚本中,用于自定义变量同步。

Class Functions类函数

  • print
    Logs message to the Unity Console. This function is identical to Debug.Log.
    记录消息到Unity控制台,这个函数和Debug.Log作用相同。

Inherited members继承成员

Inherited Variables继承变量

  • enabled
    Enabled Behaviours are Updated, disabled Behaviours are not.
    启用行为被更新,禁用行为不更新。
  • transform
    The Transform attached to this GameObject (null if there is none attached).
    Transform附加到 GameObject(游戏物体)(如无附加则为空)。
  • rigidbody
    The Rigidbody attached to this GameObject (null if there is none attached).
    Rigidbody附加到 GameObject(游戏物体)(如无附加则为空)。
  • camera
    The Camera attached to this GameObject (null if there is none attached).
    Camera附加到 GameObject(游戏物体)(如无附加则为空)。
  • light
    The Light attached to this GameObject (null if there is none attached).
    Light附加到 GameObject(游戏物体)(如无附加则为空)。
  • animation
    The Animation attached to this GameObject (null if there is none attached).
    Animation附加到 GameObject(游戏物体)(如无附加则为空)。
  • constantForce
    The ConstantForce attached to this GameObject (null if there is none attached).
    ConstantForce附加到 GameObject(游戏物体)(如无附加则为空)。
  • renderer
    The Renderer attached to this GameObject (null if there is none attached).
    Renderer附加到 GameObject(游戏物体)(如无附加则为空)。
  • audio
    The AudioSource attached to this GameObject (null if there is none attached).
    AudioSource附加到 GameObject(游戏物体)(如无附加则为空)。
  • guiText
    The GUIText attached to this GameObject (null if there is none attached).
    GUIText附加到 GameObject(游戏物体)(如无附加则为空)。
  • networkView
    The NetworkView attached to this GameObject (Read Only). (null if there is none attached)
    NetworkView附加到 GameObject(游戏物体)(只读)(如无附加则为空)。
  • guiTexture
    The GUITexture attached to this GameObject (Read Only). (null if there is none attached)
    GUITexture附加到 GameObject(游戏物体)(只读)(如无附加则为空)。
  • collider
    The Collider attached to this GameObject (null if there is none attached).
    Collider附加到 GameObject(游戏物体)(如无附加则为空)。
  • hingeJoint
    The HingeJoint attached to this GameObject (null if there is none attached).
    HingeJoint附加到 GameObject(游戏物体)(如无附加则为空)。
  • particleEmitter
    The ParticleEmitter attached to this GameObject (null if there is none attached).
    ParticleEmitter附加到 GameObject(游戏物体)(如无附加则为空)。
  • gameObject
    The game object this component is attached to. A component is always attached to a game object.
    组件附加的游戏物体。一个组件总是被附加到一个游戏物体。
  • tag
    The tag of this game object.
    游戏物体的标签。
  • name
    The name of the object. //物体的名字
  • hideFlags
    Should the object be hidden, saved with the scene or modifiable by the user?
    物体是否被隐藏、保存在场景中或被用户修改?

Inherited Functions继承函数

  • GetComponent
    Returns the component of Type type if the game object has one attached, null if it doesn't.
    如果游戏物体有一个附加,则返回Type类型的组件,如果没有则为null。
  • GetComponent.<T>
     
  • GetComponent
    Returns the component with name type if the game object has one attached, null if it doesn't.
    如果游戏物体有一个附加,则返回名字类型组件,如果没有则为null。
  • GetComponentInChildren
    Returns the component of Type type in the GameObject or any of its children using depth first search.
    返回Type类型组件,在 GameObject或它的任何子物体使用深度优先搜索,仅返回激活的组件。
  • GetComponentInChildren.<T>
     
  • GetComponentsInChildren
    Returns all components of Type type in the GameObject or any of its children.
    在 GameObject或任何它的子物体,返回全部Type类型组件
  • GetComponentsInChildren.<T>
     
  • GetComponents
    Returns all components of Type type in the GameObject.
    在游戏物体返回全部Type类型组件。
  • GetComponents.<T>
     
  • CompareTag
    Is this game object tagged tag?
    游戏物体有被标记标签么?
  • SendMessageUpwards
    Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour
    在游戏物体每一个 MonoBehaviour和每一个behaviour的祖先上调用名为methodName的方法。
  • SendMessage
    Calls the method named methodName on every MonoBehaviour in this game object.
    在游戏物体每一个 MonoBehaviour上调用名为methodName的方法。
  • BroadcastMessage
    Calls the method named methodName on every MonoBehaviour in this game object or any of its children.
    在游戏物体每一个 MonoBehaviour和它的全部子物体上调用名为methodName的方法。
  • GetInstanceID
    Returns the instance id of the object.
    返回物体的实例ID
  • ToString
    Returns the name of the game object.
    返回游戏物体的名称。

Inherited Class Functions继承类函数

  • Destroy
    Removes a gameobject, component or asset.
    删除一个游戏物体、组件或资源
  • DestroyImmediate
    Destroys the object obj immediately. It is strongly recommended to use Destroy instead.
    立即销毁物体obj,强烈建议使用Destroy代替。
  • DontDestroyOnLoad
    Makes the object target not be destroyed automatically when loading a new scene.
    加载新场景的时候使目标物体不被自动销毁。
  • FindObjectOfType
    Returns the first active loaded object of Type type.
    返回Type类型第一个激活的加载的物体。
  • FindObjectsOfType
    Returns a list of all active loaded objects of Type type.
    返回Type类型的所有激活的加载的物体列表
  • Instantiate
    Clones the object original and returns the clone.
    克隆原始物体,并返回克隆的物体

你可能感兴趣的:(Unity3D——MonoBehaviour api函数 调用时序剖析(From 圣典))