DoubleJump.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | using System.Collections; using System.Collections.Generic; using UnityEngine; [RequireComponent( typeof (Rigidbody))] public class DoubleJump : MonoBehaviour { public float jumpForce = 5; public float groundDistance = 0.5f; Rigidbody rigidBody; bool canDoubleJump; void Awake() { rigidBody = GetComponent<Rigidbody>(); } bool IsGrounded() { return Physics.Raycast(transform.position, Vector3.down, groundDistance); } void Update() { if (Input.GetMouseButtonDown(0)) { if (IsGrounded()) { rigidBody.velocity = Vector3.up * jumpForce; canDoubleJump = true ; } else if (canDoubleJump) { rigidBody.velocity = Vector3.up * jumpForce; canDoubleJump = false ; } } } } |