PlayerController.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class PlayerController : MonoBehaviour
  5. {
  6. public Animator playerAnimator;
  7. public Rigidbody playerRigidbody;
  8. public float walkSpeed, walkBackwardSpeed, oldWalkSpeed, runSpeed, rotateSpeed;
  9. public bool isWalking;
  10. public Transform playerTransform;
  11. private void FixedUpdate()
  12. {
  13. if (Input.GetKey(KeyCode.W))
  14. {
  15. playerRigidbody.linearVelocity = transform.forward * walkSpeed * Time.deltaTime;
  16. }
  17. if (Input.GetKey(KeyCode.S))
  18. {
  19. playerRigidbody.linearVelocity = -transform.forward * walkBackwardSpeed * Time.deltaTime;
  20. }
  21. }
  22. private void Update()
  23. {
  24. if(Input.GetKeyDown(KeyCode.W))
  25. {
  26. playerAnimator.SetTrigger("F_Walk");
  27. playerAnimator.ResetTrigger("Idle");
  28. isWalking = true;
  29. }
  30. if (Input.GetKeyUp(KeyCode.W))
  31. {
  32. playerAnimator.ResetTrigger("F_Walk");
  33. playerAnimator.SetTrigger("Idle");
  34. isWalking = false;
  35. }
  36. if (Input.GetKeyDown(KeyCode.S))
  37. {
  38. playerAnimator.SetTrigger("B_Walk");
  39. playerAnimator.ResetTrigger("Idle");
  40. }
  41. if (Input.GetKeyUp(KeyCode.S))
  42. {
  43. playerAnimator.ResetTrigger("B_Walk");
  44. playerAnimator.SetTrigger("Idle");
  45. }
  46. if (Input.GetKey(KeyCode.A))
  47. {
  48. playerTransform.Rotate(0, -rotateSpeed * Time.deltaTime, 0);
  49. }
  50. if(Input.GetKey(KeyCode.D))
  51. {
  52. playerTransform.Rotate(0, rotateSpeed * Time.deltaTime, 0);
  53. }
  54. if(isWalking == true)
  55. {
  56. if (Input.GetKeyDown(KeyCode.LeftShift))
  57. {
  58. walkSpeed = walkSpeed + runSpeed;
  59. playerAnimator.SetTrigger("Run");
  60. playerAnimator.ResetTrigger("F_Walk");
  61. }
  62. if (Input.GetKeyUp(KeyCode.LeftShift))
  63. {
  64. walkSpeed = oldWalkSpeed;
  65. playerAnimator.ResetTrigger("Run");
  66. playerAnimator.SetTrigger("F_Walk");
  67. }
  68. }
  69. }
  70. }