You*_* H. 3 c# input unity-game-engine
我正在开发一个FPS游戏,我正在使用FPSController标准资产附带的.我正在开发一个游戏手柄控制器来控制手机游戏.
配置控制器的所有输入后,我想替换代码如下:
if (!m_Jump)
{
m_Jump = CrossPlatformInputManager.GetButtonDown("Jump");
}
Run Code Online (Sandbox Code Playgroud)
代码应如下所示:
if(Application.platform == RuntimePlatform.Android)
{
if (!m_Jump)
{
m_Jump = Input.GetButtonDown("Joystick A");
}
}else{
if (!m_Jump)
{
m_Jump = CrossPlatformInputManager.GetButtonDown("Jump");
}
}
Run Code Online (Sandbox Code Playgroud)
修改
FPS Controller脚本和添加这些输入的最佳方法是什么?
提前致谢.
您可以通过不需要编辑或添加任何附加代码的方式解决此问题.
在编辑>项目设置>输入下,您可以找到InputManager和"轴".在这里,您将找到所有预定义的输入值及其相应的按钮.如果您展开输入轴"跳转"您将看到它有一个名为"正面按钮"的变量,默认为空格,以及一个空的"替代按钮".如果您将所需按钮添加到备用按钮部分,它将CrossPlatformInputManager.GetButtonDown("Jump"); 在按下游戏手柄上的相应按钮时触发操作.
如果您愿意扩展列表并添加自己的触发器,也可以.
输入管理器提供对键盘和鼠标,操纵杆和游戏手柄的开箱即用支持更多信息可在此处的文档中找到
这样做的好处是,这不需要额外的代码或条件.这可能是最佳化的方式
| 归档时间: |
|
| 查看次数: |
203 次 |
| 最近记录: |