不对,反了。我希望是用horizontalInput的值,代替 Input.GetAxisRaw("Horizontal")
时间: 2024-03-14 14:42:50 浏览: 157
非常抱歉,我理解错了你的问题。如果你想要使用horizontalInput变量的值代替Input.GetAxisRaw("Horizontal"),你可以这样写:
```
float horizontalInput = Input.GetAxisRaw("Horizontal");
// 使用horizontalInput变量的值代替Input.GetAxisRaw("Horizontal")
transform.Translate(horizontalInput * Time.deltaTime * speed, 0, 0);
```
将代码中的Input.GetAxisRaw("Horizontal")替换为horizontalInput变量即可。这样做的好处是,如果后续你需要对horizontalInput进行计算、修改或者使用其他的输入方式来更新horizontalInput的值,只需要修改horizontalInput变量的值即可,而不需要修改使用了Input.GetAxisRaw("Horizontal")的所有代码。
相关问题
不对,希望是用horizontalInput的值,被系统认为是 Input.GetAxisRaw("Horizontal")
好的,我明白了你的意思。你可以使用如下方法将horizontalInput变量的值设置为Input Manager中Horizontal的值,使得系统可以像使用Input.GetAxisRaw("Horizontal")一样来使用horizontalInput变量:
```
// 获取Input Manager中的Horizontal的名称
string horizontalAxisName = "Horizontal";
// 获取Input Manager中Horizontal的值
float horizontalInput = Input.GetAxisRaw(horizontalAxisName);
// 将horizontalInput变量的值设置为Input Manager中Horizontal的值
InputManager.SetAxis(horizontalAxisName, horizontalInput);
```
这样,系统就可以像使用Input.GetAxisRaw("Horizontal")一样使用horizontalInput变量了。需要注意的是,这样做的前提是你已经在Input Manager中将Horizontal的值设置为了0。否则,使用InputManager.SetAxis方法设置Horizontal的值会覆盖Input Manager中的值,可能会导致其他地方的代码出现问题。
Input.GetAxisRaw("Horizontal");是更新了Input Manager中的Horizontal,但并没有和horizontalInput 有联系啊
是的,你是对的。Input.GetAxisRaw("Horizontal")仅仅是获取了Input Manager中的Horizontal的值,并没有直接更新horizontalInput变量的值。如果你想要将Input Manager中的值更新到horizontalInput变量中,你需要使用代码将其手动赋值。例如,你可以这样写:
```
float horizontalInput = Input.GetAxisRaw("Horizontal");
```
这样就可以将Input Manager中的Horizontal的值赋值给horizontalInput变量了。
阅读全文