Unity3D中生命周期函数的应用

//今天的生命周期函数是Unity3D中比较常用的,在理解的基础上我们一定要会默写这些单词,包括大小写的区别。
列表内容Reset /Awake/OnEnable/OnDisable等……
Reset(在编辑状态下脚本被挂到游戏对象上的时候被调用,例如不运行程序,在脚本挂到游戏对象的一瞬间被调用,在声明周期函数中最早执行)
void Reset()
{
transform.position=Vector3.zero;
}
Awake在运行状态下被执行,不管脚本是否被激活都可以被调用
void Awake()
{
Debug.Log(“唤醒了”);
}
OnEnable 脚本被激活的时候调用
void OnEnable()
{
Debug.Log(“激活了”);
}
OnDisable脚本被失活的时候调用
void OnDisable()
{
Debug.Log(“失活了”);
}
Start在整个生命周期函数只被调用一次,即使脚本失活在激活脚本,Start方法也不在执行
void Start()
{
Debug.Log(“Start”);
}
FixedUpdate处理物理游戏一般行为时调用改方法,例如在处理Rigidbody时,应用此函数,此函数每一帧都在执行;例如当给刚体添加一个力时
void FixedUpdate()
{
rigidbody.AddForce(Vector3.up);
}
OnMouseEnter当鼠标进入到物体上方法被调用
void OnMouseEnter()
{
transform.localScale=new Vector3(2,2,2);
}
OnMouseOver当鼠标停留在物体上方法被调用
void OnMouseOver()
{
transform.Rotate(Vector3.Up*30*Time.deltaTime);
}
OnMouseExit当鼠标离开物体身上的时候方法被调用
void OnMouseExit()
{
transform.localScale=new Vector3.(1.1.1);
}
OnMouseDown当鼠标点击在物体身上时被调用
void OnMouseDown()
{
transform.localScale*=2;
}
OnMouseUp当鼠标不点击在物体身上时被调用
void OnMouseUp()
{
transform.licalScale/=2;
}
OnCollisionEnte\Stay\Exit检查碰撞时候被调用(碰撞的条件,主动方必须添加Rigidbody(刚体),发生碰撞的两个物体必须有Collider)
void OnCollisionEnter(Collision col)
{
Debug.Log(“开始碰撞”+col.collider.gameObject.name);
//这里打印出的名字是被碰撞物体的名字
}
void OnCollisionStay(Collision col)
{
Debug.Log(“碰撞持续”+col.collider.game.Object.name);
}
void OnCollisionExit(Collision col)
{
Debug.Log(“碰撞结束”+col.collider.gameObject.name);
}
OnTriggerEnter\Stay\Exit检测触发时被调用(发生触发的条件:发生碰撞的两个物体其中一个添加Rigidbody(刚体)即可,发生碰撞的物体必须有Collider,并且其中任意一方需要勾选IsTrigger(碰撞检测器))
void OnTriggerEnter(Collider other)
//这的的other指的是被动方
{
Debug.Log(“触发器检测到”);
}
void OnTriggerStay()
{
Debug.Log(“触发器持续检测中”);
}
void OnTriggerExit()
{
Debug.Log(“触发器检测结束”);
}
Update循环周期函数使我们应用最多的一个方法
OnDestory当游戏对象被销毁时被调用,例如在Start方法中销毁了游戏对象,那么OnDestory才会被调用;
void OnDestory()
{
Debug.Log(“游戏对象被销毁了”);
}
**GUI**GUI方法中有很多,例如按钮,鼠标点击等诸多方法,以下就说说博主用的比较多的几个方法吧
//在屏幕上显示按钮
void OnGUI()
{
if(GUI.Button(new Rect(0,0,60,40)”开始”))
//0,0,60,40分别代表按键的X,Y轴位置,宽还有高
{
Debug.Log(“开始打印”);
}
}
void OnGUI()
//这里可以理解为要在屏幕上显示运行时间,当然了timeTest自己设置的变量;
{
GUI.Label(new Rect(Screen.width-100,0,100,60),timeTest);
}
以上就是博主目前更新的生命周期函数类型以及用法,后期会不断更新。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值