MonoBehaviour
继承于Behaviour
MonoBehaviour是每个脚本的基类.
每个Javascript脚本自动继承MonoBehaviour,使用C#或Boo时,需要显式继承MonoBehaviour.
注意:MonoBehavior对象(编辑器中)的复选框,只有在其有Start(),Awake(),Update(), FixedUpdate()和 OnGUI()函数时显示,没有这些函数时则隐藏。(另注:译者在PC上Windows平台测试结果与此注释所描述情况不符)
Variables | 变量 |
---|---|
useGUILayout | 禁用此项,将会跳过GUILayout布局阶段。 |
Functions | 函数 |
---|---|
Invoke | 在time秒调用methodName方法;简单说,根据时间调用指定方法名的方法 |
InvokeRepeating | 在time秒调用methodName方法;简单说,每隔指定时间调用指定方法名的方法 |
CancelInvoke | 取消这个MonoBehaviour上的所有调用。 |
IsInvoking | 某指定函数是否在等候调用。 |
StartCoroutine | 开始协同程序。 |
StopCoroutine | 停止这个动作中名为methodName的所有协同程序 |
StopAllCoroutines | 停止所有动作的协同程序 |
Overridable Functions | 可重写函数 |
---|---|
Update | 当MonoBehaviour启用时,其Update在每一帧被调用。 |
LateUpdate | 当Behaviour启用时,其LateUpdate在每一帧被调用。 |
FixedUpdate | 当MonoBehaviour启用时,其 FixedUpdate 在每一帧被调用。 |
Awake | 当一个脚本实例被载入时Awake被调用。 |
Start | Start仅在Update函数第一次被调用前调用。 |
Reset | 重置为默认值。 |
OnMouseEnter | 当鼠标进入到GUIElement(GUI元素)或Collider(碰撞体)中时调用OnMouseEnter |
OnMouseOver | 当鼠标悬浮在GUIElement(GUI元素)或Collider(碰撞体)上时调用 OnMouseOver |
OnMouseExit | 当鼠标移出GUIElement(GUI元素)或Collider(碰撞体)上时调用OnMouseExit |
OnMouseDown | 当鼠标在GUIElement(GUI元素)或Collider(碰撞体)上点击时调用OnMouseDown |
OnMouseUp | 当用户释放鼠标按钮时调用OnMouseUp。 |
OnMouseUpAsButton | OnMouseUpAsButton只有当鼠标在同一个GUIElement或Collider按下,在释放时调用 |
OnMouseDrag | 当用户鼠标拖拽GUIElement(GUI元素)或Collider(碰撞体)时调用 OnMouseDrag |
OnTriggerEnter | 当Collider(碰撞体)进入trigger(触发器)时调用OnTriggerEnter |
OnTriggerExit | 当Collider(碰撞体)停止触发trigger(触发器)时调用OnTriggerExit |
OnTriggerStay | 当碰撞体接触触发器时,OnTriggerStay将在每一帧被调用 |
OnCollisionEnter | 当此collider/rigidbody触发另一个rigidbody/collider时,OnCollisionEnter将被调用 |
OnCollisionExit | 当此collider/rigidbody停止触发另一个rigidbody/collider时,OnCollisionExit将被调用。 |
OnCollisionStay | 当此collider/rigidbody触发另一个rigidbody/collider时,OnCollisionStay将会在每一帧被调用 |
OnControllerColliderHit | 在移动的时,当controller碰撞到collider时OnControllerColliderHit被调用。 |
OnJointBreak | 当附在同一对象上的关节被断开时调用。 |
OnParticleCollision | 当粒子碰到collider时被调用。 |
OnBecameVisible | 当renderer(渲染器)在任何相机上可见时调用OnBecameVisible |
OnBecameInvisible | 当renderer(渲染器)在任何相机上都不可见时调用OnBecameInvisible |
OnLevelWasLoaded | 当一个新关卡被载入时此函数被调用 |
OnEnable | 当对象变为可用或激活状态时此函数被调用 |
OnDisable | 当对象变为不可用或非激活状态时此函数被调用 |
OnDestroy | 当MonoBehaviour将被销毁时,这个函数被调用 |
OnPreCull | 在相机消隐场景之前被调用 |
OnPreRender | 在相机渲染场景之前被调用 |
OnPostRender | 在相机完成场景渲染之后被调用 |
OnRenderObject | 在相机场景渲染完成后被调用 |
OnWillRenderObject | 如果对象可见每个相机都会调用它 |
OnGUI | 渲染和处理GUI事件时调用 |
OnRenderImage | 当完成所有渲染图片后被调用,用来渲染图片后期效果 |
OnDrawGizmosSelected | 如果你想在物体被选中时绘制gizmos,执行这个函数 |
OnDrawGizmos | 如果你想绘制可被点选的gizmos,执行这个函数 |
OnApplicationPause | 当玩家暂停时发送到所有的游戏物体 |
OnApplicationFocus | 当玩家获得或失去焦点时发送给所有游戏物体 |
OnApplicationQuit | 在应用退出之前发送给所有的游戏物体。 |
OnPlayerConnected | 当一个新玩家成功连接时在服务器上被调用 |
OnServerInitialized | 当Network.InitializeServer被调用并完成时,在服务器上调用这个函数。 |
OnConnectedToServer | 当你成功连接到服务器时,在客户端调用 |
OnPlayerDisconnected | 当一个玩家从服务器上断开时在服务器端调用 |
OnDisconnectedFromServer | 当失去连接或从服务器端断开时在客户端调用 |
OnFailedToConnect | 当一个连接因为某些原因失败时在客户端调用 |
OnFailedToConnectToMasterServer | 当报告事件来自主服务器时在客户端或服务器端调用。 |
OnMasterServerEvent | 当报告事件来自主服务器时在客户端或服务器端调用 |
OnNetworkInstantiate | 当一个物体使用Network.Instantiate进行网络初始化时调用 |
OnSerializeNetworkView | 在一个网络视图脚本中,用于自定义变量同步。 |
Class Functions | 类函数 |
---|---|
记录消息到Unity控制台,这个函数和Debug.Log作用相同 |
Invoke 调用
在time秒调用methodName方法;简单说,根据时间调用指定方法名的方法.
InvokeRepeating 重复调用
在time秒调用methodName方法;简单说,根据时间调用指定方法名的方法
从第一次调用开始,每隔repeatRate时间调用一次.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class InvokeTest : MonoBehaviour {
// Use this for initialization
void Start () {
Invoke ("timeCompleteHandler", 5);
InvokeRepeating ("timeHandler", 1, 1f);
}
// Update is called once per frame
void Update () {
}
void timeCompleteHandler() {
print ("时间到!起床了卖沟子的");
CancelInvoke ("timeCompleteHandler");
CancelInvoke ("timeHandler");
}
void timeHandler() {
print ("一秒过去了");
print ("是否在timeHandler Invoke状态下:" + IsInvoking ("timeHandler"));
}
}