I have a 3rd-person controller in my Unity scene, which I can only control with the WASD buttons. But since I plan to make a smartphone game, I wonder how I can change these controls t swipe up/down/right/left and (if possible) keep WASD for debugging.
1 Answer
Do this in character controller script's Update()
First of all you have to detect the user input via touch(begin/moved/ended) methods and then you have to calculate the gesture it ended up in like swipe-left.
You can assign a bool to it like SwipeL = true;
Now you have to add a condition in the methods where character movement is mapped with Input.GetKey("A")
etc and append your bool
with OR condition
e.g.
if(Input.GetKey("A") || SwipeL)
{
//code for moving left
}
You need to do this for all key mappings.
-
\$\begingroup\$ Great! Thank you. Unfortunately though, the 3rd Person Controller-Script is written in Javascript \$\endgroup\$– IMXDec 14, 2013 at 16:26
-
3\$\begingroup\$ @IMX Your question is not tagged with a specific language. And this answer is just showing an example. The technique described can be implemented in any language Unity supports. \$\endgroup\$– House ♦Dec 14, 2013 at 17:28
-
\$\begingroup\$
if
statements in javascript and c# are analogous for the purpose of this example \$\endgroup\$ Aug 2, 2017 at 5:41