我有一个代码可以正常工作,但我认为如果我继续遵循相同的策略来做所有相同的事情,它会无缘无故地在处理器上过载
我有一个代表时间的变量,这个变量在游戏对象的速度高于 0.5f 的每一帧中都为 0,所以我不想在每一帧都重置它,而是在它低于 0.5f 时启动计时器
if (speed >= 0.5f)
{
t = 0;
}
t = t + Time.deltaTime;
您可以使用 bool 值来节省性能。
public static bool isTimerMoving = false;
public void Update()
{
if (speed < 0.5f)
{
t = t + Time.deltaTime;
isTimerMoving = true;
}
else if (isTimerMoving) {
t = 0;
isTimerMoving = false;
}
}
只要速度达到 0.5f
,这段代码就会重置计时器.如果你只想暂停计时器,你可以删除 t = 0
从它。
附言使用
>
或
<
比使用
<=
更快或
>=
.不是很多,但我喜欢保持高效 ;)
编辑:提问后,回复表明此声明是错误的,我很抱歉。
我是一名优秀的程序员,十分优秀!