using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { public Animator playerAnimator; public Rigidbody playerRigidbody; public float walkSpeed, walkBackwardSpeed, oldWalkSpeed, runSpeed, rotateSpeed; public float jumpHeight; public bool isWalking; public bool hasJumped; public Transform playerTransform; private void FixedUpdate() { if (Input.GetKey(KeyCode.W)) { playerRigidbody.linearVelocity = transform.forward * walkSpeed * Time.deltaTime; } if (Input.GetKey(KeyCode.S)) { playerRigidbody.linearVelocity = -transform.forward * walkBackwardSpeed * Time.deltaTime; } } private void Update() { if(Input.GetKeyDown(KeyCode.W)) { playerAnimator.SetTrigger("F_Walk"); playerAnimator.ResetTrigger("Idle"); isWalking = true; } if (Input.GetKeyUp(KeyCode.W)) { playerAnimator.ResetTrigger("F_Walk"); playerAnimator.SetTrigger("Idle"); isWalking = false; } if (Input.GetKeyDown(KeyCode.S)) { playerAnimator.SetTrigger("B_Walk"); playerAnimator.ResetTrigger("Idle"); } if (Input.GetKeyUp(KeyCode.S)) { playerAnimator.ResetTrigger("B_Walk"); playerAnimator.SetTrigger("Idle"); } if (Input.GetKey(KeyCode.A)) { playerTransform.Rotate(0, -rotateSpeed * Time.deltaTime, 0); } if(Input.GetKey(KeyCode.D)) { playerTransform.Rotate(0, rotateSpeed * Time.deltaTime, 0); } if (isWalking == true) { if (Input.GetKeyDown(KeyCode.LeftShift)) { walkSpeed = walkSpeed + runSpeed; playerAnimator.SetTrigger("Run"); playerAnimator.ResetTrigger("F_Walk"); } if (Input.GetKeyUp(KeyCode.LeftShift)) { walkSpeed = oldWalkSpeed; playerAnimator.ResetTrigger("Run"); playerAnimator.SetTrigger("F_Walk"); } } } }