所以我弄清楚了我的代碼將如何作業,但我不知道該寫什么。我想執行一個在某個鍵被釋放后連續減去一個值的代碼,在我的例子中是左移。我想我應該使用“GetKeyUp”命令,但它只執行一次,所以它沒有繼續減去。這是我的一些代碼:
//sprintIncrease is the value on how many it subtracts or adds, to give the impression of the value slowly increasing or decreasing
//defaultSpeed is the normal walk speed, but this is the value where i can change it indirectly
//Executes when shift is released, to slowly go back to default speed (I need help in this)
if (Input.GetKeyUp(KeyCode.LeftShift))
{
walkSpeed -= sprintIncrease * Time.deltaTime;
}
//To stop Walk Speed from being slower than the Default Speed while getting subtracted
if (walkSpeed < defaultSpeed)
{
walkSpeed = defaultSpeed;
}
uj5u.com熱心網友回復:
您可以簡單地檢查當前是否未按下該鍵 Input.GetKey并檢查它是否false像例如
if (!Input.GetKey(KeyCode.LeftShift))
{
walkSpeed -= sprintIncrease * Time.deltaTime;
//To stop Walk Speed from being slower than the Default Speed while getting subtracted
if (walkSpeed < defaultSpeed)
{
walkSpeed = defaultSpeed;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/432333.html
上一篇:如何在Unity中將linerender設定為僅在3個方向上繪制
下一篇:每次sceneLoaded完成時,統一SceneManager.sceneLoadedcallBack相互疊加?
