Unity基本语法

本文介绍了Unity中的三个关键更新函数:Update、FixedUpdate和LateUpdate,强调了它们在游戏逻辑中的不同作用,特别是LateUpdate在避免物体跟随抖动上的应用。此外,还详细讲解了Mathf.Clamp函数用于限制数值范围的功能,并通过示例解释了StartCoroutine协程的使用,以解决大量运算导致的界面卡死问题。
摘要由CSDN通过智能技术生成

Update()/FixedUpdate()/LateUpdate

Update()每帧调用;
FixedUpdate() 以指定频率被调用。
可以在 Edit -> project settings -> Time -> Fixed Timestep 中设定该频率。FixedUpdate() 可以用来执行不受帧率影响的处理。
LateUpdate()是在所有Update函数调用后被调用。
这可用于调整脚本执行顺序。例如:当物体在Update里移动时,跟随物体的相机可以在LateUpdate里实现。LateUpdate是晚于所有Update执行的。例如:游戏中有2个脚步,脚步1含有Update和LateUpdate,脚步2含有Update,那么当游戏执行时,每一帧都是把2个脚步中的Update执行完后才执行LateUpdate 。虽然是在同一帧中执行的,但是Update会先执行,LateUpdate会晚执行。 

现在假设有2个不同的脚本同时在Update中控制一个物体,那么当其中一个脚本改变物体方位、旋转或者其他参数时,另一个脚步也在改变这些东西,那么这个物体的方位、旋转就会出现一定的反复。如果还有个物体在Update中跟随这个物体移动、旋转的话,那跟随的物体就会出现抖动。 如果是在LateUpdate中跟随的话就会只跟随所有Update执行完后的最后位置、旋转,这样就防止了抖动。


Mathf.Clamp 限制

static function Clamp (value : float, min : float, max : float) : float

限制value的值在min和max之间, 如果value小于min,返回min。 如果value大于max,返回max,否则返回value


StartCoroutine

StartCoroutine在unity3d的帮助中叫做协程,意思就是启动一个辅助的线程。在C#中直接有Thread这个线程,但是在unity中有些元素是不能操作的。这个时候可以使用协程来完成。使用线程的好处就是不会出现界面卡死的情况,如果有一次非常大量的运算,没用线程就会出现假死的情况。下面通过一个简单的例子来说明使用协程的好处:

[csharp]  view plain copy
  1. float
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值