我有一个工作正常的代码,但我认为如果我继续遵循相同的策略来做所有相同的事情,它会无缘无故地加载到处理器上
我有一个表示时间的变量,并且这个变量在每个帧中都为0,游戏对象的速度高于0.5f所以不是每次重置它我想在低于0.5f时启动计时器
if (speed >= 0.5f)
{
t = 0;
}
t = t + Time.deltaTime;
发布于 2019-06-10 14:13:31
您可以使用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
从中删除。
PS使用>
或<
比使用<=
或更快>=
。不是很多,但我喜欢保持高效;)
https://stackoverflow.com/questions/-100006963
复制相似问题