unity用外部数据模拟,替代input manager中的"Horizontal","Vertical"
时间: 2023-07-06 11:41:05 浏览: 142
可以通过读取外部数据来模拟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”键。
阅读全文