作者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
推 polom:跟畫面更新的速度有關吧! 06/24 22:13
→ turtle314:那我該在哪邊調整? 還是我設一個類似緩衝器的東西? 06/24 22:16
推 polom:看一下你的fps更新的速度,配合著修你的阻尼數值 06/25 00:43
→ ure560:speed可能會減到小於0... 06/25 10:22