PlayerController.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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 float jumpHeight;
  10. public bool isWalking;
  11. public bool hasJumped;
  12. public Transform playerTransform;
  13. private void FixedUpdate()
  14. {
  15. if (Input.GetKey(KeyCode.W))
  16. {
  17. playerRigidbody.linearVelocity = transform.forward * walkSpeed * Time.deltaTime;
  18. }
  19. if (Input.GetKey(KeyCode.S))
  20. {
  21. playerRigidbody.linearVelocity = -transform.forward * walkBackwardSpeed * Time.deltaTime;
  22. }
  23. }
  24. private void Update()
  25. {
  26. if(Input.GetKeyDown(KeyCode.W))
  27. {
  28. playerAnimator.SetTrigger("F_Walk");
  29. playerAnimator.ResetTrigger("Idle");
  30. isWalking = true;
  31. }
  32. if (Input.GetKeyUp(KeyCode.W))
  33. {
  34. playerAnimator.ResetTrigger("F_Walk");
  35. playerAnimator.SetTrigger("Idle");
  36. isWalking = false;
  37. }
  38. if (Input.GetKeyDown(KeyCode.S))
  39. {
  40. playerAnimator.SetTrigger("B_Walk");
  41. playerAnimator.ResetTrigger("Idle");
  42. }
  43. if (Input.GetKeyUp(KeyCode.S))
  44. {
  45. playerAnimator.ResetTrigger("B_Walk");
  46. playerAnimator.SetTrigger("Idle");
  47. }
  48. if (Input.GetKey(KeyCode.A))
  49. {
  50. playerTransform.Rotate(0, -rotateSpeed * Time.deltaTime, 0);
  51. }
  52. if(Input.GetKey(KeyCode.D))
  53. {
  54. playerTransform.Rotate(0, rotateSpeed * Time.deltaTime, 0);
  55. }
  56. if (isWalking == true)
  57. {
  58. if (Input.GetKeyDown(KeyCode.LeftShift))
  59. {
  60. walkSpeed = walkSpeed + runSpeed;
  61. playerAnimator.SetTrigger("Run");
  62. playerAnimator.ResetTrigger("F_Walk");
  63. }
  64. if (Input.GetKeyUp(KeyCode.LeftShift))
  65. {
  66. walkSpeed = oldWalkSpeed;
  67. playerAnimator.ResetTrigger("Run");
  68. playerAnimator.SetTrigger("F_Walk");
  69. }
  70. }
  71. }
  72. }