您的位置:首页 > 移动开发 > Unity3D

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

2015-10-27 10:06 513 查看

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 sameGUIElement or

Collider as it was pressed.

OnMouseUpAsButton只有当鼠标在同一个GUIElementCollider按下,在释放时调用。

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.

克隆原始物体,并返回克隆的物体
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: