【发布时间】:2019-07-12 23:53:02
【问题描述】:
尊敬的 stackoverflow 社区,
我的双点加电有倒数计时器,现在我遇到了问题,因为我的代码在游戏中运行良好,但是当计时器处于活动状态时,游戏滞后,不会太多,但任何滞后都对我的游戏不利,因为玩家需要在没有任何未优化组件的情况下流畅播放..
我有这个代码,我敢打赌游戏会滞后,因为代码是在更新方法中(我试图把它放在游戏管理器脚本中,但计时器不会倒计时,所以这不是解决方案)
这是代码(感谢 stackoverflow 用户 @siusiulala,他为我编写了工作代码) 但似乎它需要在另一个方法或其他东西中,因为当内部有倒计时时更新方法运行性能。
private void Update(){
if (isDoublePoints)
{
// Countdown the timer with update time
powerUpTimer -= Time.deltaTime;
Debug.Log("TIMER ISS " + powerUpTimer);
if (powerUpTimer <= 0)
{
// End of power up time
isDoublePoints = false;
}
}
}
public void OnPickPowerUp(float buffTime)
{
powerUpTimer += buffTime;
}
我希望有人能给出延迟的解决方案,因为我看到很多游戏都有通电系统,内部没有任何延迟...
感谢stackoverflow,没有你我的游戏永远不会结束:)
【问题讨论】:
-
除非
Debug.Log()效率极低或者您调用它数百万次,否则这段代码应该不会产生明显的开销。请分析您的代码,看看您的假设是否正确。 -
如何分析我的代码?谢谢你的评论。 Debug.Log 只被调用了 15 次..
标签: c# unity3d timer game-development