MonoBehaviour类

每个Unity脚本派生的基类。

一、Public Function

1、在几秒之后调用方法

public void Invoke(string methodName,float time);

注:1)应在脚本生命周期(Start、Update、OnGUI、FixedUpdate、LaterUpdate)中调用。

2)不接受含参数的方法。

3)在Time.timeScale=0时,无效;支持重复调用:InvokeRepeating。

2、在n秒后调用方法,之后每隔m秒重复调用

public void InvokeRepeating(string methodName,float time,float repeatRate);

3、取消所有调用

public void CancelInvoke();

4、启动一个协同程序

public Coroutine StartCoroutine(IEnumerator routine);

注:协同程序的返回类型必须为IEnumerator,使用yield return。

5、等待若干秒

WaitForSeconds

6、终止一个协同程序

public void StopCoroutine(string methodName);

public void StopCoroutine(IEnumerator routine);

二、Static Function

在Unity控制台输出消息

public static void print(object message);

三、Message

1、脚本实例被创建时调用

Awake

注:用于游戏对象的初始化,早于所有脚本的Start函数。

2、Update函数第一次运行之前调用

Start

注:用于游戏对象的初始化。

3、每帧调用一次,更新频率与设备的性能有关。

Update

注:用于更新游戏场景和状态,帧率是变化的。

4、每个固定物理时间间隔调用一次

FixedUpdate

注:用于物理状态的更新。

5、每帧调用一次(在Update调用之后)

LateUpdate

注:用于更新游戏场景和状态,和相机相关的更新一般放在这里。

6、鼠标移入GUI控件或者碰撞体时调用

OnMOuseEnter

例:根据鼠标状态,设置游戏对象的颜色

7、鼠标停留在GUI控件或者碰撞体时调用

OnMouseOver

8、鼠标移出GUI控件或者碰撞体时调用

OnMouseExit

9、鼠标在GUI控件或者碰撞体上按下时调用

OnMouseDown

10、鼠标按键释放时调用

OnMouseUp

11、当其它碰撞体进入触发器时调用

OnTriggerEnter

注:可以被用作协同程序,在函数中调用yield语句

例:贪吃蛇,蛇吃掉食物。

12、当其他碰撞体离开触发器时调用

OnTriggerExit

13、当其他碰撞体停留在触发器时调用

OnTriggerStay

14、当碰撞体或者刚体与其它碰撞体或者刚体接触时调用

OnCollisionEnter

15、当碰撞体或者刚体与其它碰撞体或者刚体停止接触时调用

OnCollisionExit

16、当碰撞体或者刚体与其它碰撞体或者刚体保持接触时调用

OnCollisionStay

注:OnCollisionEnter与OnTriggerEnter的区别

1、如果想实现两个刚体物理的实际碰撞效果时候用OnCollisionEnter,Unity引擎会自动处理刚体碰撞的效果。OnCollisionEnter方法必须是在两个碰撞体都不勾选isTrigger的前提下才能进入。

2、如果想在两个物体碰撞后自己处理碰撞事件用OnTriggerEnter。只要勾选一个isTrigger,那么就能进入OnTriggerEnter方法。

17、当控制器移动时与碰撞体发生碰撞时调用

OnControllerColliderHit

注:触发需具备的条件

1、脚本一定要挂在带有角色控制器的物体上。

2、调用Move方法,使角色控制器运动。

例:角色控制器可以利用这个方法推开前面的碰撞体。

18、对于任意一个相机可见时调用

OnBecameVisible

19、对于任意一个相机不可见时调用

OnBecameInvisible

注:1)OnBecamevisible与OnBecameInvisible所在的脚本需要挂在要判断的物体上,同时该物体需要有Renderer Component。

2)调试时需满足出了摄像机以及Scene窗口,才能调用OnBecameInvisible,打包成exe无影响。

20、对象启用或激活时调用

OnEnable

注:调用时间:在Awake之后、Start之前调用。

21、对象禁用或取消激活时调用

OnDisable

22、脚本销毁时调用

OnDestroy

23、渲染GUI和处理GUI消息时调用

OnGUI

注:MonoBehaviour的enable属性设为false,OnGUI()将不会被调用。


你可能感兴趣的:(unity,3d,基础)