轴工作正常,但按钮不在Android Build中

时间:2018-04-17 22:42:28

标签: c# android unity3d

我正在构建一个VR移动游戏,我通过PS3控制器控制这个游戏,控制器在所有按钮和轴的Unity编辑器中都能很好地工作。当我用Android手机连接控制器时,所有按钮都工作,轴也是。 当我在Android中仅使用轴工作按钮构建游戏时出现的问题并非如此。 虽然我多次更改输入管理器设置,但它也没有做任何事情。并做了几件事:

  1. 这行代码获取轴值:

    float steering = CrossPlatformInputManager.GetAxis("Horizontal");
    
  2. 所以我试图从按钮获取值并命名为虚拟按钮 " joystickButton2"像这样:

    bool speed = CrossPlatformInputManager.GetButton("joystickButton2"); 
    

    它也不起作用。

  3. 我用常规CrossPlatformInputManager替换Input班级 class和它类似于CrossPlatformInputManager类。

    bool speed = Input.GetButton("joystickButton2");
    
  4. 我试图通过GetKey函数获取密钥 -

        bool speed = Input.GetKey (KeyCode.joystickbutton2);
    

    也没有发生任何事情。我尝试过很多东西和几件事,但仍然只有轴工作和按钮没有。

1 个答案:

答案 0 :(得分:0)

我想我找到了解决方案。 问题是Android以经常的方式从PS3控制器读取输入,就像X按钮是joystickButton14所以我已经为所有按钮做了一个简单的循环,并在Android上显示游戏本身的结果当我连接Controller时,我确切知道joystickButton的数量。

public Text ButtonNumber;
void Update (){
  for (int i = 0 ; i =< 100 ; i++ ){
    string JoyStick = "joystickButton"+ i.ToString();
    if (input.GetKey(KeyCode.JoyStick)){
      ButtonNubmber.text = i.ToString();
}}}

我希望能帮助别人。