a little mnodifcation of my controller, enjoy.
[/code]
//top down player controller.
//A D strafe left right
//W &S foward back
//Q E rotateSpeed
//if player shouldn’t rotate remove rotateSpeed var, and Q&E controls. Change all Self refs to World, this is added so player can rotate and move foward relavtive to themselves.
//player up/down ,side/side speed
var speed = 10;
//player rotate speed
var rotateSpeed = 20;
//player movement
function Update () {
//moves player left right up down
var x = Input.GetAxis(“Horizontal”) * Time.smoothDeltaTime * speed;
var y = Input.GetAxis(“Vertical”) * Time.smoothDeltaTime * speed;
//W S Foward/Backward
if(Input.GetKey(KeyCode.W))
{
transform.Translate(0,0,speed * Time.deltaTime,Space.Self);
//Debug.Log(“Does Wwork?”);
}
if(Input.GetKey(KeyCode.S))
{
transform.Translate(0,0,-speed * Time.deltaTime,Space.Self);
//Debug.Log(“Does Swork?”);
}
//A D side to side
if(Input.GetKey(KeyCode.A))
{
transform.Translate(-speed * Time.deltaTime,0,0,Space.Self);
//Debug.Log(“Does A work?”);
}
if(Input.GetKey(KeyCode.D))
{
transform.Translate(speed * Time.deltaTime,0,0,Space.Self);
//Debug.Log(“Does D work?”);
}
//Q and E keys rotate:
if(Input.GetKey(KeyCode.Q))
{
transform.Rotate(0,-rotateSpeed * Time.deltaTime,0,Space.Self);
//Debug.Log(“Does Q work?”);
}
if(Input.GetKey(KeyCode.E))
{
transform.Rotate(0,rotateSpeed * Time.deltaTime,0,Space.Self);
//Debug.Log(“Does E work?”);
}
}
@script RequireComponent(CharacterController)
[/code]