Итак, у меня есть проблема, которую я хочу сделать, поэтому, когда я щелкаю правой кнопкой мыши в воздухе один раз (как дополнительный прыжок) (после прыжка с пробелом), я не могу сделать это снова.
здесь мой текущий сценарий движения:
public class Move2D : MonoBehaviour
{
public float moveSpeed = 5f;
public bool isGrounded = false;
void Update()
{
Jump();
Vector3 movement = new Vector3(Input.GetAxis("Horizontal"), 0f, 0f);
transform.position += movement * Time.deltaTime * moveSpeed;
}
void Jump()
{
if (Input.GetButtonDown("Jump") && isGrounded == true)
{
gameObject.GetComponent<Rigidbody2D>().AddForce(new Vector2(0f, 8f), ForceMode2D.Impulse);
}
if (Input.GetMouseButtonDown(1) && isGrounded == false)
{
gameObject.GetComponent<Rigidbody2D>().AddForce(new Vector2(0f, 4f), ForceMode2D.Impulse);
}
}
}
Вот мой текущий сценарий «заземления»
public class Grounded : MonoBehaviour
{
GameObject Player;
// Start is called before the first frame update
void Start()
{
Player = gameObject.transform.parent.gameObject;
}
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.collider.tag == "Ground")
{
Player.GetComponent<Move2D>().isGrounded = true;
}
}
private void OnCollisionExit2D(Collision2D collision)
{
if (collision.collider.tag == "Ground")
{
Player.GetComponent<Move2D>().isGrounded = false;
}
}
}
Я следовал этому сценарию на YouTube. Пожалуйста, ответьте, если мне нужно предоставить больше информации для будущего поста. Я очень плохо знаком с кодированием.