C# Script 코드 수정을 통해 원하는 만큼의 다중 점프(Multiple Jump)가 가능합니다. OnCollisionEnter2D를 통해 플레이어가 충돌하는 오브젝트 이름이 "Ground"일 경우, 다중 점프가 발동됩니다.
[NJump.cs]
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NJump : MonoBehaviour
{
[SerializeField] float jumpForce = 500f, speed = 5f;
int jumpCount = 4;
float moveX;
bool isGround = false;
Rigidbody2D rb;
void OnCollisionEnter2D(Collision2D col)
{
if (col.gameObject.name == "Ground")
{
isGround = true;
jumpCount = 4;
}
}
void Start()
{
rb = GetComponent<Rigidbody2D>();
jumpCount = 0;
}
void Update()
{
Movement();
}
void Movement()
{
if (isGround)
{
if (jumpCount > 0)
{
if (Input.GetButtonDown("Jump"))
{
//rb.velocity = new Vector2(rb.velocity.x, 0f);
rb.AddForce(Vector2.up * jumpForce);
jumpCount--;
}
}
}
moveX = Input.GetAxis("Horizontal") * speed;
rb.velocity = new Vector2(moveX, rb.velocity.y);
}
}
댓글