我查了很多关于如何使用delta时间的线程,我无法弄明白。
我想让我的家伙每次运行游戏时都以恒定的速度移动。
所以我有:
timer = new Timer(9, this);
timer.start();
then the paint method.
我尝试在paint方法的开头做一个开始时间,然后在结束时做一个当前时间。如何让它影响计时器的速度或玩家移动的距离。我已经尝试将时间增量乘以增量到x。 nHeroX = dx * deltaTIme;
我觉得这很简单我只需要有人直接告诉我该怎么做。
答案 0 :(得分:1)
答案 1 :(得分:1)
传统上,游戏编程依赖于连续循环。 无论如何,我已经意识到了。
在此循环中,您应该分别进行模型更新和图形更新。 在你的剪辑中,你似乎尝试混合这两件事。
在这个循环中:
- 第一次,你让模型更新。例如:家伙从x移动到x1
- 在第二次,你必须刷新图形,以允许该人在屏幕上有一个新的位置。
你的家伙的速度取决于家伙模型(例如:你班上的常数)。 但另一类人的速度可能不同。
游戏的一般速度取决于主循环中设置的FPS。
您可以在此帖子中看到一个示例: Java Main Game Loop
祝你好运