using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
[SerializeField]
private float speed = 10f;
private Transform player1Transform;
private Transform player2Transform;
private Vector3 movementVect3plr1 = Vector3.zero;
private Vector3 movementVect3plr2 = Vector3.zero;
private void Awake()
{
player1Transform = GameObject.Find("Player1").GetComponent<Transform>();
player2Transform = GameObject.Find("Player2").GetComponent<Transform>();
}
private void FixedUpdate()
{
if (Input.GetKey(KeyCode.W))
{
movementVect3plr1.y = 1f;
}
if (Input.GetKey(KeyCode.S))
{
movementVect3plr1.y = -1f;
}
if (Input.GetKey(KeyCode.UpArrow))
{
movementVect3plr2.y = 1f;
}
if (Input.GetKey(KeyCode.DownArrow))
{
movementVect3plr2.y = -1f;
}
player1Transform.position += speed * Time.deltaTime * movementVect3plr1;
player2Transform.position += speed * Time.deltaTime * movementVect3plr2;
}
}
I use this script to handle player input but for some reason now when I press the button only once the player moves all the way up or all the way down without stopping. It used to work before, then suddenly stopped working as intended.
