Guest User

Uamgl PlayerController

a guest
Nov 9th, 2020
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.26 KB | None | 0 0
  1.  public float Speed = 10f;
  2.     public float JumpForce = 300f;
  3.  
  4.     //что бы эта переменная работала добавьте тэг "Ground" на вашу поверхность земли
  5.     private bool _isGrounded;
  6.     private Rigidbody _rb;
  7.  
  8.     void Start()
  9.     {
  10.         _rb = GetComponent<Rigidbody>();
  11.     }
  12.  
  13.     void FixedUpdate()
  14.     {
  15.         MovementLogic();
  16.         JumpLogic();
  17.        
  18.     }
  19.  
  20.     private void MovementLogic()
  21.     {
  22.         float moveHorizontal = Input.GetAxis("Horizontal");
  23.  
  24.         Vector3 movement = new Vector3(moveHorizontal, 0.0f, 0.0f);
  25.         _rb.AddForce(movement * Speed);
  26.     }
  27.  
  28.     private void JumpLogic()
  29.     {
  30.         if (Input.GetAxis("Jump") > 0)
  31.         {
  32.             if (_isGrounded)
  33.             {
  34.                 _rb.AddForce(Vector3.up * JumpForce);
  35.             }
  36.         }
  37.     }
  38.  
  39.     void OnCollisionEnter(Collision collision)
  40.     {
  41.         IsGroundedUpate(collision, true);
  42.     }
  43.  
  44.     void OnCollisionExit(Collision collision)
  45.     {
  46.         IsGroundedUpate(collision, false);
  47.     }
  48.  
  49.     private void IsGroundedUpate(Collision collision, bool value)
  50.     {
  51.         if (collision.gameObject.tag == ("Ground"))
  52.         {
  53.             _isGrounded = value;
  54.         }
  55.     }
Advertisement
Add Comment
Please, Sign In to add comment