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.
Works. Thanks!
– someguy2121