[Untiy3d技巧学习]Untiy中用作计数器,或在间隔时间内执行某一代码的方法。

在游戏制作中,我们需要用到类似于在一定时间后执行某一段代码的方法来实现一些效果,其逻辑等同于如现实世界中的“红绿灯”。

在Untiy当中,存在两种常用的代码去实现这一功能。


方法一:计数器累加


先定义好一个用于计数的变量_currenTimeCnt = 0;

再一定一个用于比较的变量_waitTime =1.0f;

通过Update()方法,用if..else循环比较两个变量,从而通过时间来控制方法的实现,如下方简易代码所示:

private float _waitTime =1.0f;
private float _currenTimeCnt = 0;

...

void Update(){

<span style="white-space: pre;">	</span>if(_currenTimeCnt > _waitTime){
<span style="white-space: pre;">		</span><span style="color:#ff0000;"><strong>Main();</strong></span>
     <span style="white-space: pre;">		</span> _currenTimeCnt = 0;
<span style="white-space: pre;">	</span>}
<span style="white-space: pre;">	</span>_currenTimeCnt +=Time.deltaTime;
}


方法二:InvokeRepeating();//重复调用


InvokeRepeating的基类是MonoBehaviour。

function InvokeRepeating (methodName : string, time : float, repeatRate : float) : void

该方法需要传入的参数有三个,methodName:方法的名称,string类型;time:等待的时间;repeatRate:刷新时间,也就是两次执行方法的间隔。

根据实际需求,我们可以在Awake()方法 或 State()方法中调用该方法。


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值