目标
所以我希望我的游戏支持 xbox / playstation 控制器。我希望操纵杆允许您以一种速度向左/向右移动,无论操纵杆移动多远。
问题
然而,当我用控制器测试游戏时,稍微推动操纵杆会使角色移动得更慢。
代码
void Update() {
//Takes input for running and returns a value from 1 (right) to -1 (left)
xInput = Input.GetAxisRaw("Horizontal");
Jump();
}
当然,这个“错误”是由于控制器能够返回 -1 和 1 之间的浮点值而引起的。
但是我想知道如何将此值四舍五入为 -1 或 1,或者以某种方式禁用控制器返回 a浮动值,因为类似
xInput = Input.GetAxisRaw("Horizontal") > 0 ? 1 : -1;
表示 [no input] 将返回 -1,并且
if (Input.GetAxisRaw("Horizontal") > 0) {
xInput = 1;
} else if (Input.GetAxisRaw("Horizontal") < 0) {
xInput = -1;
}
只是看起来不必要而且不优雅