Search Unity

CrossPlatformInputManager not inisalizing ..

Discussion in 'Scripting' started by Griffo, Aug 31, 2015.

  1. Griffo

    Griffo

    Joined:
    Jul 5, 2011
    Posts:
    700
    Hi, I'm trying to use the CrossPlatformInputManager in some javascript, the problem is that when called I'm getting no inputs being registered.

    The sample code below is what I'm testing with in the joystick script, I have the Cross Platform Input Manager scripts in ..

    Plugins/ StandardAssets/ CrossPlatformInput/ Scripts

    Code (JavaScript):
    1. #pragma strict
    2. import UnityEngine;
    3. import UnityStandardAssets.CrossPlatformInput;
    4. import UnitySampleAssets.Utility;
    5. //public class Joystick extends MonoBehaviour
    6. public class Joystick extends MonoBehaviour implements IPointerUpHandler , IPointerDownHandler , IDragHandler
    7. {
    8.      var horizontalAxisName : String = "Horizontal";
    9.      var verticalAxisName : String = "Vertical";  
    10.      function Start  ()
    11.      {
    12.          CreateVirtualAxes ();
    13.      }
    14.      function Update ()
    15.      {
    16.          var horizontal : float = CrossPlatformInputManager.GetAxisRaw("Horizontal");
    17.          var vertical : float = CrossPlatformInputManager.GetAxisRaw("Vertical");
    18.    
    19.          if(CrossPlatformInputManager.GetButtonDown("Jump"))
    20.          {
    21.              k++;
    22.              print("player jumped .. " + k);
    23.          }
    24.          print("Horizontal value is " + CrossPlatformInputManager.GetAxis(horizontalAxisName) + "      Vertical value is " + CrossPlatformInputManager.GetAxis(verticalAxisName));
    25.      }
    26.      function CreateVirtualAxes()
    27.      {      
    28.          horizontalVirtualAxis = new CrossPlatformInputManager.VirtualAxis(horizontalAxisName);
    29.          verticalVirtualAxis = new CrossPlatformInputManager.VirtualAxis(verticalAxisName);
    30.      }
    31. }
    Now if I use the above script I get no input being printed out but if I replace the function CreateVirtualAxis() with the below script the printout for the virtual axis is correct -1 to 1

    But I'm getting no printout when pressing spacebar, the spacebar is set up in the inspector and I've tested it with Input.GetButtonDown("Jump"); and it all works fine ..

    Can anyone please tell me why this is happening ?

    Thank you.

    Code (JavaScript):
    1. function CreateVirtualAxes()
    2. {
    3.      if (CrossPlatformInputManager.AxisExists(horizontalAxisName))
    4.      {
    5.          CrossPlatformInputManager.UnRegisterVirtualAxis(horizontalAxisName);
    6.      }
    7.      horizontalVirtualAxis = new CrossPlatformInputManager.VirtualAxis(horizontalAxisName);
    8.      CrossPlatformInputManager.RegisterVirtualAxis(horizontalVirtualAxis);                                                                      
    9.      if (CrossPlatformInputManager.AxisExists(verticalAxisName))
    10.      {
    11.          CrossPlatformInputManager.UnRegisterVirtualAxis(verticalAxisName);
    12.      }
    13.      verticalVirtualAxis = new CrossPlatformInputManager.VirtualAxis(verticalAxisName);
    14.      CrossPlatformInputManager.RegisterVirtualAxis(verticalVirtualAxis);
    15. }