0

请参阅制作 Pacman 时遇到一些问题以完全理解这个问题。只需查看已接受答案的第一部分。这是在java中!

我正在使用上面链接中显示的数组。我的 pacman 角色移动得很好,除了它每 100 毫秒移动 21 个像素,因此它根本不平滑。

目前我只是将当前数组位置的 x 和 y 乘以 21。我想知道如何才能使这变得平滑。我尝试了一些如何移动的方法,但它们都没有奏效,而且我不是很熟练,而且我的方法效率不高,因此我来到这里寻找一种顺利移动的好方法。

您可能需要知道的一些事情: Pacman 首先检查按键方向的位置。(例如:向右箭头向下。是否清楚?)如果清除,它将继续调用另一个处理移动 pacman 的类,直到出现一堵墙或敌人。

4

2 回答 2

2

人眼大约每 100 毫秒可以看到一帧,有些人的视觉速度比这更快。您可能希望将帧速率提高到至少 20FPS(相当于每 50 毫秒一帧)。如果你想让吃豆人以同样的速度移动,你可以将距离减半,速度加倍(让他每 50 毫秒移动 10 或 11 个像素)。

有关更多基本背景信息,请参阅有关帧速率的 Wikipedia 文章,并查看其他人成功使用的内容。

于 2011-11-27T03:47:22.890 回答
1

您需要创建两个循环。一个游戏循环,它计算出游戏的逻辑,每 100 毫秒运行一次,还有一个动画循环,它运行得更频繁,可能每 20 毫秒运行一次,并计算所有精灵应该在哪里。

// in pseudo code
sleep 20 ms
if i++ % 5 == 0
    do game loop
do animation loop with i
// passing i to animation loop will allow you to easily calculate how far sprite is along path to destination
于 2011-11-27T03:53:16.933 回答