虚拟按钮
中级 程序员
你可以不把控件绑定到物理按键和按钮,而是绑定到虚拟按钮(Virtual Button)。这样玩家就可以把物理按钮分配给虚拟按钮,从而创建自己的操控方案。
例如,假设你在开发一款第一人称射击游戏,需要为 UseMedkit(使用医疗包)功能指定一个按键。你可以不把该功能绑定到特定按键,而是创建一个名为 UseMedkit 的虚拟按钮,然后把虚拟按钮绑定到(比如)F 键。如果愿意,玩家还可以在运行时把虚拟按键绑定到其他按键。

使用虚拟按钮
- 将按键、按钮或指针绑定到虚拟按钮(例如 MyButton)。
- 创建虚拟按钮列表。
- 将 MyButton 添加到虚拟按钮列表中。
- 为 MyButton 分配一个功能。
- 创建更多虚拟按钮。
- 将这些按钮添加到同一个列表中,或创建其他列表。
示例代码
public override void Start()
{
base.Start();
// 如果不存在,则创建新的 VirtualButtonConfigSet
Input.VirtualButtonConfigSet = Input.VirtualButtonConfigSet ?? new VirtualButtonConfigSet();
//将 "M" 键、GamePad "Start" 按钮和左键绑定到虚拟按钮 "MyButton"
VirtualButtonBinding b1 = new VirtualButtonBinding("MyButton", VirtualButton.Keyboard.M);
VirtualButtonBinding b2 = new VirtualButtonBinding("MyButton", VirtualButton.GamePad.Start);
VirtualButtonBinding b3 = new VirtualButtonBinding("MyButton", VirtualButton.Mouse.Left);
VirtualButtonConfig c = [b1, b2, b3];
Input.VirtualButtonConfigSet.Add(c);
}
public override void Update() {
float button = Input.GetVirtualButton(0, "MyButton");
}