public class Player : MonoBehaviour
{
private float leftBorder;
private float rightBorder;
private void Start()
{
leftBorder = Camera.main.ViewportToWorldPoint(new Vector3(0, 0)).x;
rightBorder = Camera.main.ViewportToWorldPoint(new Vector3(1, 0)).x;
}
private void Update()
{
Vector3 acc = Vector3.zero;
Vector3 diff;
if (Input.GetKey(KeyCode.LeftArrow))
{
transform.localScale = new Vector3(-1, 1, 1);
acc.x = -0.1f;
}
if (Input.GetKey(KeyCode.RightArrow))
{
transform.localScale = new Vector3(1, 1, 1);
acc.x = 0.1f;
}
diff = Vector3.MoveTowards(transform.localPosition, transform.localPosition + acc, 0.5f * Time.time);
if(diff .x <leftBorder)
{
diff.x = rightBorder;
}
if(diff .x >rightBorder)
{
diff.x = leftBorder;
}
transform.localPosition = diff;
}
}