我最近正在使用Pygame构建仿真工具。对于此模拟器,我显示了一个字段和一个遍历该字段的机器人。模拟器的工作方式是将Pose2D
(坐标)对象的列表输入到主循环中,并且机器人将在循环的每次迭代中将自己呈现在新位置。机器人必须遵循一些路径,这些路径目前为止还只是直线,但很快也会扩展为样条曲线。为了遵循这些线,我计算了点之间的距离,获得了距离和斜率,然后将距离除以步长或更新了每条线的大小。步长是机器人在遵循路径时将更新其位置的次数。我注意到的是,与更新较小的更新速度相比,更多的更新会使整个窗口变慢,并导致机器人在整个字段中缓慢移动。但是,我觉得这种方法对于流畅的动作效率非常低下,并且由于Pygame在某种程度上取决于硬件,因此需要调整每个人的系统才能以相同的fps运行或以相同的速度更新机器人。有没有一种方法可以规范化系统并提高渲染速度,同时又能以相当快的速度进行更新?
您可以在trajectory.py中看到正在生成的列表,并将其传递到main.py中。随时浏览存储库以获取您可能有的其他建议。提前非常感谢!
答案 0 :(得分:0)
因此,对于这个问题,代码的当前设置最终变得严重依赖于 CPU 的循环时间。为了解决这个问题,一个增量时间变量应该乘以速度,然后应该添加到精灵的当前坐标位置。