Input.GetAxisRaw("Horizontal");是更新了Input Manager中的Horizontal,但并没有和horizontalInput 有联系啊
时间: 2024-04-21 07:30:22 浏览: 113
是的,你是对的。Input.GetAxisRaw("Horizontal")仅仅是获取了Input Manager中的Horizontal的值,并没有直接更新horizontalInput变量的值。如果你想要将Input Manager中的值更新到horizontalInput变量中,你需要使用代码将其手动赋值。例如,你可以这样写:
```
float horizontalInput = Input.GetAxisRaw("Horizontal");
```
这样就可以将Input Manager中的Horizontal的值赋值给horizontalInput变量了。
相关问题
不对,希望是用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中的值,可能会导致其他地方的代码出现问题。
unity用外部数据模拟,替代input manager中的"Horizontal","Vertical"
可以通过读取外部数据来模拟Unity中的“Horizontal”和“Vertical”输入。以下是一个示例:
```csharp
using UnityEngine;
public class InputSimulator : MonoBehaviour
{
public float horizontalInput;
public float verticalInput;
void Update()
{
// 从外部数据获取模拟的Horizontal和Vertical输入
horizontalInput = GetHorizontalInputFromExternalSource();
verticalInput = GetVerticalInputFromExternalSource();
// 更新Input Manager中的Horizontal和Vertical输入
Input.GetAxisRaw("Horizontal");
Input.GetAxisRaw("Vertical");
}
float GetHorizontalInputFromExternalSource()
{
// 从外部数据获取模拟的Horizontal输入
return 0f; // 这里返回模拟的Horizontal输入值
}
float GetVerticalInputFromExternalSource()
{
// 从外部数据获取模拟的Vertical输入
return 0f; // 这里返回模拟的Vertical输入值
}
}
```
在这个例子中,我们创建了一个名为“InputSimulator”的脚本,并在其中定义了两个公共变量,分别表示模拟的Horizontal和Vertical输入。在Update函数中,我们从外部数据获取模拟的输入,并将其更新到Input Manager中的Horizontal和Vertical输入中。
需要注意的是,为了确保模拟的输入能够被正确地识别,我们需要在Input Manager中为Horizontal和Vertical输入设置对应的“Positive Button”和“Negative Button”。例如,将Horizontal的“Positive Button”设置为“D”,将“Negative Button”设置为“A”。这样,当模拟的Horizontal输入值为正数时,Unity会将其识别为按下“D”键;当模拟的Horizontal输入值为负数时,Unity会将其识别为按下“A”键。