오브젝트를 좌, 우로 이동하거나 스페이스바를 연타로 2번 누르면 캐릭터가 더블점프를 합니다. 점프강도(JumpForce), 이동속도(MoveSpeed)를 수정 할 수도 있습니다.
[DoubleJump.cs]
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DoubleJump : MonoBehaviour
{
[SerializeField] float jumpForce = 600f, speed = 5f;
float moveX;
Rigidbody2D rb;
bool doubleJumpState = false;
bool isGround = false;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
Movement();
}
void Movement()
{
if (rb.velocity.y == 0)
isGround = true;
else
isGround = false;
if (isGround)
doubleJumpState = true;
if (isGround && Input.GetButtonDown("Jump"))
JumpAddForce();
else if (doubleJumpState && Input.GetButtonDown("Jump"))
{
JumpAddForce();
doubleJumpState = false;
}
moveX = Input.GetAxis("Horizontal") * speed;
rb.velocity = new Vector2(moveX, rb.velocity.y);
}
void JumpAddForce()
{
rb.velocity = new Vector2(rb.velocity.x, 0f);
rb.AddForce(Vector2.up * jumpForce);
}
}
댓글