我已經遵循了「Roll-A-Ball」的Unity教程,並添加了一些擴展。球現在可以跳起來,但是每次跳起都會跳得太多次;當我按下SPACE時,我只想要一次球。現在我可以在SPACE上按3次,它會越來越高。如何解決雙跳
if (Input.GetKeyDown(KeyCode.Space))
{
Vector3 jump = new Vector3(0.0f, 150.0f, 0.0f);
rb.AddForce(jump);
}
編輯:
試圖改變的代碼一點點,但現在我只能跳一次(第一次)
private void textBox_KeyDown(object sender, KeyEventArgs e)
{
if (Input.GetKeyDown(KeyCode.Space) && jump.y <= 0.0f)
{
jump.Set(0.0f, 150f, 0.0f);
rb.AddForce(jump);
}
}
你會得到這個結果,因爲每當你按下空間時你都會給球增加額外的力量。 3按== 3 *方向的力量。監測球的向上速度,只有在滿足特定參數時才加力。即如果向上速度<= 0,那麼你可以跳!別的,你不能。 – Zze
試圖做到這一點,但它不起作用:( –
@adadudu奇怪的是,一旦Z速度在空中遇到'0.0f',這意味着在軌跡中間 - 也就是說,除非我錯了,我對UnityScript一無所知。只要按下空格鍵就可以嘗試記錄速度,以確保您沒有丟失任何東西:^) – Gustavo6046