[英]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.