본문 바로가기
유니티강좌

다중 점프(N단 점프) 구현. Multiple Jump | 점프 횟수, 점프높이, 이동속도 조절가능 | 유니티 게임 개발 튜토리얼(Unity & C# Script)

by Ncube 2021. 1. 10.

 

 

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);
    }
}

 

댓글