【发布时间】:2012-11-20 13:01:05
【问题描述】:
这是用 C++ 编写的,我使用的是 VC++ 2010。
我正在创建一个基于图块的游戏,每个图块为 32 像素。如果给您一定的时间,并且在那段时间内您想将图像沿一个方向移动 32 个像素,我将如何计算每帧移动的量?帧速率不固定,我可以访问帧增量时间。
如果您需要更多信息,请询问。
【问题讨论】:
-
如果你问我是否使用整数除法,那么是的。坐标都是整数。
标签: c++
这是用 C++ 编写的,我使用的是 VC++ 2010。
我正在创建一个基于图块的游戏,每个图块为 32 像素。如果给您一定的时间,并且在那段时间内您想将图像沿一个方向移动 32 个像素,我将如何计算每帧移动的量?帧速率不固定,我可以访问帧增量时间。
如果您需要更多信息,请询问。
【问题讨论】:
标签: c++
你需要计算它的基本公式是:
P 像素/S 秒 * delta T 秒/帧 = X 像素/帧
例如,我们将使用您的图块大小并在 1 秒内移动它,当前帧速率为 30 fps。
32 像素/1 秒 * .033 秒/帧 = 1.056 像素/帧
int P = 32;
double S = 1.0;
double T = getFrameTime();
double X = P / S * T;
【讨论】:
S 秒,而不是相乘,否则单位会出错。