I am trying to modify someone’s code who had the bright idea of using the Unity built in input manager.
I was able to fix the buttons to my liking, by sifting through a list of strings for the correct binding, but I have no idea what an axis is in the first place, let alone how to create a function to handle a situation in which an axis was used.
Specifically, I need a way to turn “W” and “S” into “forward” and “backward”, and what that would translate into with regards to “GetAxisRaw()”.
I know that it’s a float number, but I have no idea how I would simulate it…
Here’s the code I wish to modify:
#pragma strict
var key : String;
var input : InputItem;
function UpdateInput () {
//Just get the axis value from Unity's input
input.axis = Input.GetAxisRaw(key);
}
//I'm not a big java fan, but in the interest of keeping everything within the asset working, I'd appreciate an answer here in java.
Here’s an example of the code I use to pick a button out of an array:
public static KeyCode getKey(string key)
{
int keyint = 0;
KeyCode returncode = KeyCode.A;
for(int i=0; i<End; i++)
{
if(bindsnames *== key)*
-
{*
-
keyint = i;*
-
}*
-
else if(i >= End)*
-
{*
-
Debug.Log("ERROR 2: The key you are trying to access does not exist");*
-
}*
-
}*
-
returncode = (KeyCode)Enum.Parse(typeof(KeyCode),binds[keyint]);*
-
return returncode;*
- }*
I’m not a very advanced programmer (could you tell) so baby steps would be appreciated. I work mainly in C#, but in the interest of not breaking the asset I am attempting to modify, I’d prefer an answer which uses a function I can then call from the javascript.
I do not want to use the Unity input manager. I have many reasons for this but mostly because you cannot change the values at runtime.