I'm trying to use this code to have the "s" key move the player down and the "d" key move the player to the right:
var number:float=0;
function Update() {
HorizontalTranslate("d",1,5,8,Vector3.right);
HorizontalTranslate("s",-1,5,8,Vector3.up);
}
function HorizontalTranslate(input,value,damp,speed,direction){
var hvalue=0;
if(Input.GetKey(input))
{
hvalue =hvalue+value;
}
number = Mathf.Lerp(number, hvalue, Time.deltaTime*damp);
transform.Translate(direction * number*Time.deltaTime*speed, Space.Self);
}
problem is that when I press the keys the object moves diagonally rather than straight to the right or down. My guess is that somehow both Vector3.up and Vector3.right are being called at the same time, but i'm not quite sure why it's doing it. Any ideas how to fix this? thanks.