作者turtle314 (会弹吉他屌屁)
看板GameDesign
标题[程式] 摩擦力问题
时间Thu Jun 24 22:06:53 2010
平台:DirectX
我想设计一个推酒杯的小游戏,目前写到按下空白键会有往右使杯子移动的速度,
同时还有一个摩擦力,程式每次RUN的时候都会固定扣一个数值,最後归零。
原本是希望酒杯能够很顺的位移,然後速度慢慢降低最後停止。
可是程式真正在执行的时候第一下还是会位移,但是顿一下之後又位移一次,
就停止了。
有问题的程式码:
//
// WndProc
//
LRESULT CALLBACK d3d::WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM
lParam)
{
if(speed >= 0)
{
speed -= f; //speed会扣摩擦力
cupx += speed; //让杯子产生移动的速度。
}
switch( msg )
{
case WM_DESTROY:
::PostQuitMessage(0);
break;
case WM_KEYDOWN:
if( wParam == VK_ESCAPE )
::DestroyWindow(hwnd);
switch( wParam )
{
case VK_SPACE:
speed=2;
break;
}
}
return ::DefWindowProc(hwnd, msg, wParam, lParam);
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 192.192.154.48
1F:推 polom:跟画面更新的速度有关吧! 06/24 22:13
2F:→ turtle314:那我该在哪边调整? 还是我设一个类似缓冲器的东西? 06/24 22:16
3F:推 polom:看一下你的fps更新的速度,配合着修你的阻尼数值 06/25 00:43
4F:→ ure560:speed可能会减到小於0... 06/25 10:22