[程式] 摩擦力問題

看板GameDesign (遊戲設計)作者 (會彈吉他屌屁)時間15年前 (2010/06/24 22:06), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
平台: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

06/24 22:13, , 1F
跟畫面更新的速度有關吧!
06/24 22:13, 1F

06/24 22:16, , 2F
那我該在哪邊調整? 還是我設一個類似緩衝器的東西?
06/24 22:16, 2F

06/25 00:43, , 3F
看一下你的fps更新的速度,配合著修你的阻尼數值
06/25 00:43, 3F

06/25 10:22, , 4F
speed可能會減到小於0...
06/25 10:22, 4F
文章代碼(AID): #1C8sQ116 (GameDesign)
文章代碼(AID): #1C8sQ116 (GameDesign)