MonoBehaviour继承类及其重要方法

MonoBehaviour概述

MonoBehaviour 表示一个单一的行为。Unity中用户对游戏对象的操作被分割成若干个单一行为。每个单一行为都作为一个MonoBehaviour类来封装。再生成每个MonoBehaviour类的实例,并作为组件嵌入游戏对象。然后按照一定的顺序(从下到上)调用每个对象的重载方法来实现游戏对象的全部行为。

用过Unity的伙伴们都知道,在创建脚本以后,文件里面默认有两个函数,Update()、Start(),这些函数是如何调用的呢,MonoBehaviour类下还有哪些类似的函数呢,我们了解一下:

首先看一下,常用的脚本必然事件。
一:基础函数
1.Update() MonoBehaviour启用时,每帧调用一次。用于更新场景和状态(物理状态有关的更新应该放在FixedUpdate里)
2.Start() Update函数第一次运行之前调用。用于游戏对象的初始化。整个Start方法在整个MonoBehaviour生命周期内只被调用一次。Awake和Start不同的地方在于Start方法仅仅在脚本初始化后被调用,这样允许你延迟加载任何代码,知道代码被真正使用时,Awake方法总是在Start方法之前被调用,这样允许你初始化脚本代码。
3.Awake() 脚本实例被创建时调用,用于游戏对象的初始化,但执行时间早于Start函数。当脚本被加载后后立即调用Awake方法,这个方法在Start()开始之前声明某些变量或者游戏的状态标记符。同样,Awake也是在MonoBehaviour声明周期内被调用一次。Awake在所有的对象实例化后被调用【本人认为是GameObject】,因此绑定这个脚本的对象能与其他直接相互作用,例如,通过GameFindWithTag方法查找其它对象。
4.FixedUpdate() 用于物理状态的更新。  每一帧都在调用此方法。当处理Rigibody时FixedUpdate应该代替Update方法,比如,当一个物体需要增加一个力时,应该将这个力的代码写在FixedUpdate()里面。
void FixedUpdate()
{
  rigibody.AddForce(Vector3.up);
}
5.LateUpdate() 每帧调用一次该方法,(在Update之后调用)。当每一帧的Update方法全部执行完后,此方法开始被调用。举个例子来说吧,当一个角色移动而摄像机也要跟着移动时,摄像机的处理就应该在LateUpdate()里面了。
       6.OnGUI   OnGUI()在每一帧被调用数次(Several times),家兔MonoBehaviour的enable属性设置为false时,OnGUI()就失去作用了。
       7.DontDestroyOnLoad()  进如另一个场景时,保证绑定此脚本的对象的内存不被释放掉。也就是说绑定此脚本的GameObject在下一个场景中依然存在。
二:事件响应函数
OnMouseOver 鼠标移入GUI空间或者碰撞体时调用
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值