我正在开发FPS游戏,并且正在使用标准资产随附的FPSController
。我正在开发一个Gamepad控制器来控制手机游戏。
配置完控制器的所有输入后,我要替换以下代码:
if (!m_Jump)
{
m_Jump = CrossPlatformInputManager.GetButtonDown("Jump");
}
代码应如下所示:
if(Application.platform == RuntimePlatform.Android)
{
if (!m_Jump)
{
m_Jump = Input.GetButtonDown("Joystick A");
}
}else{
if (!m_Jump)
{
m_Jump = CrossPlatformInputManager.GetButtonDown("Jump");
}
}
修改
FPS Controller
脚本并添加这些输入的最佳方法是什么?
谢谢。
答案 0 :(得分:5)
您可以以不需要编辑或添加任何附加代码的方式解决此问题。
在“编辑”>“项目设置”>“输入”下,您可以找到InputManager和“轴”。在这里,您将找到所有预定义的输入值及其相应的按钮。如果展开输入轴“跳转”,您将看到它具有一个名为“正按钮”的变量,该变量默认情况下为空格,而空的“替代按钮”。如果您将所需的按钮添加到替代按钮部分g,它将在按下游戏手柄上的相应按钮时触发CrossPlatformInputManager.GetButtonDown("Jump");
操作。
如果您愿意扩展列表并添加自己的触发器,也可以。
输入管理器提供了对键盘和鼠标,操纵杆和游戏手柄的开箱即用支持,有关更多信息,请参见文档here
这样做的好处是不需要任何额外的代码或条件。这可能是最优化的方法