0
我更新的功能被稱爲像60次,而玩家是指在我的網格32個像素的步驟移動,所以玩家動作非常迅速,我想一個辦法只能收到某些鍵輸入每個喜歡10幀,仍然有我的遊戲運行在60fps。如何減慢用戶輸入?
我更新的功能被稱爲像60次,而玩家是指在我的網格32個像素的步驟移動,所以玩家動作非常迅速,我想一個辦法只能收到某些鍵輸入每個喜歡10幀,仍然有我的遊戲運行在60fps。如何減慢用戶輸入?
可以
最簡單的方法就是保持時間按下一個鍵。沒有辦法減慢輸入系統的速度,所以你必須自己僞裝。這裏有一些讓你開始的僞碼。
// See if the key is currently down
if (KeyIsDown(key))
{
if (gameTime.TotalGameTime >= nextTime)
{
// Move the character, and indicate that you want to wait another second for movement.
moveTheCharacter();
nextTime = gameTime.TotalGameTime + 1;
}
}
這種方法的主要優點是它總是基於時間而不是你的遊戲的幀率。所以如果你出於某種原因丟幀,你的角色仍然會以相同的速度移動。
請告訴我一個很好的方法來保持玩家的細胞0.5秒?我看着gameTime的成員,我看不到任何使用有 – Kaije 2011-05-02 16:43:53
的,我不認爲有它的任何特定成員。我會在播放器對象中添加諸如「LastMovedTime」之類的內容,並確保不會將播放器移動到LastMovedTime + CellTime
2011-05-02 17:03:19
gee ..多好的想法。爲什麼我沒有想到這一點。 – 2011-05-02 18:53:16