public void Update(){
JumpLogic();
}
public void JumpLogic {
// выходим из логики прыжка если мы не на земле
if (!onGround)
return;
if (Input.GetKeyDown(KeyCode.UpArrow)) {
// запоминаем текущее время как нажатой клавиши
}
if (Input.GetKeyUp(KeyCode.UpArrow)) {
// запоминаем текущее время как отжатой клавиши
// можно сохранять локально в методе
}
if ( ) //если промежуток времени больше секунды
{
//Большой прыжок
br.AddForce(jumpImpulse * jumpHeightLong);
// логика обнуления временного промежутка
} else { //Если меньше секунды
//Малый прыжок
br.AddForce(jumpImpulse * jumpHeight);
// логика обнуления временного промежутка
}
}
如果您不需要逐步依赖,而是线性依赖,则可以从经过的时间乘以跳跃的开始速度而不是构造的最后一个 if 中取一个除数。并通过额外的 if 限制跳跃的最大功率。
这是您的基础,您可以在此基础上自己编写最终代码
如果您不需要逐步依赖,而是线性依赖,则可以从经过的时间乘以跳跃的开始速度而不是构造的最后一个 if 中取一个除数。并通过额外的 if 限制跳跃的最大功率。