关于变速齿轮公式,求解?
DWORD WINAPI MytimeGetTime(void)
{
SetSpeed(g_shareData.GetData()->multiple);
return g_Multiple*GetTickCount();
}
我Hook的只有timeGetTime(),上面是我定义的函数,这样只能加速页游, 减速的话就会卡住画面,但网页还在运行。
在百度上找到的公式:
为了实现变速效果,按键精灵作者采用公式算法实现了加速减速效果,公式如下:
Result := 上次返回时间 + Round((当前返回时间 - 上次正常时间) * Power(2,倍数));
[注:Round 表示取整]
上次返回的时间,当前返回时间, 上次正常时间 ,各参数的具体含义是什么?
(我的理解是, 上次返回的时间:上一次调用我自定义函数返回的值,当前返回时间:是我改变倍数时刻,自定义函数返回的值,上次正常时间,应该就是系统timeGetTime()所返回的值)。
还有想问下,变速齿轮,只hook timeGetTime()一个api,就能能加减速吗?