繁体   English   中英

我应该使用deltaTime控制健康损失吗? C ++ / SDL2

[英]Should I control health loss with the deltaTime? C++/SDL2

我想知道用我的程序的deltaTime(从游戏循环的最后一次迭代以来,程序的当前运行时间到程序运行的时间之间的毫秒数变化)来控制是否是个好主意。敌人的健康损失。

所以不要这样做:

...
enemy.setHealth(enemy.getHealth() - 5);
...

我这样做:

...
enemy.setHealth(enemy.getHealth() - (5 * deltaTime));
...

这样做的目的是使其他计算机上的运行状况降低,但是是否必要?

非常感谢。

您必须确定什么是适合您的游戏的行为。 如果使用deltaTime作为运行状况损失的比例因子,则1)必须使用浮点运行状况,以及2)如果CPU出现打((就像另一个程序占用了CPU),则所有敌人都可能在单个帧中死亡。

如果您限制帧速率并采取恒定的时间步长,则可以确保对模拟的更多控制。 如果某些测试硬件没有达到所需的FPS,则可以考虑增加时间步长,否则会丢失时间精度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM