Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public float Speed = 10f;
- public float JumpForce = 300f;
- //что бы эта переменная работала добавьте тэг "Ground" на вашу поверхность земли
- private bool _isGrounded;
- private Rigidbody _rb;
- void Start()
- {
- _rb = GetComponent<Rigidbody>();
- }
- void FixedUpdate()
- {
- MovementLogic();
- JumpLogic();
- }
- private void MovementLogic()
- {
- float moveHorizontal = Input.GetAxis("Horizontal");
- Vector3 movement = new Vector3(moveHorizontal, 0.0f, 0.0f);
- _rb.AddForce(movement * Speed);
- }
- private void JumpLogic()
- {
- if (Input.GetAxis("Jump") > 0)
- {
- if (_isGrounded)
- {
- _rb.AddForce(Vector3.up * JumpForce);
- }
- }
- }
- void OnCollisionEnter(Collision collision)
- {
- IsGroundedUpate(collision, true);
- }
- void OnCollisionExit(Collision collision)
- {
- IsGroundedUpate(collision, false);
- }
- private void IsGroundedUpate(Collision collision, bool value)
- {
- if (collision.gameObject.tag == ("Ground"))
- {
- _isGrounded = value;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment