Basically if I press keys such as ‘W,D’ ‘W,A’ ‘S,A’ ‘S,D’ it doubles the speed of my object and I simply don’t want that so if there are any tweaks to the code you suggest please advise me!
using UnityEngine;
public class Player_Movement : MonoBehaviour
{
public float speed = 5f;
// Update is called once per frame
void FixedUpdate()
{
MoveUp();
MoveDown();
MoveRight();
MoveLeft();
Sprint();
}
void MoveUp ()
{
if (Input.GetKey("w"))
{
transform.Translate(speed * Time.deltaTime, 0, 0);
}
}
void MoveDown()
{
if (Input.GetKey("s"))
{
transform.Translate(-speed * Time.deltaTime, 0, 0);
}
}
void MoveLeft()
{
if (Input.GetKey("a"))
{
transform.Translate(0, 0,speed * Time.deltaTime);
}
}
void MoveRight()
{
if (Input.GetKey("d"))
{
transform.Translate(0, 0,-speed * Time.deltaTime);
}
}
public void Sprint()
{
if (Input.GetKeyDown(KeyCode.LeftShift))
{
speed = 10f;
}
else if (Input.GetKeyUp(KeyCode.LeftShift) )
{
speed = 5f;
}
}
}