[Unity] 2D 캐릭터 무한 점프 막기

2022. 8. 17. 19:11·공부/Unity
728x90

 

좌우 이동은 마무리한 캐릭터가 스페이스를 먹었을 때 점프하게 하는 코드다. 기존 이동 코드에 내용을 추가해주면 된다. 플레이어에는 Rigidbody 2D, BoxCollider 2D가 들어있고, 바닥에는 Box Collider 2D가 들어있다. 바닥 태그를 Ground로 설정해준 상태이다.

 

bool _canJump;

void Update()
{
	Moving();
}

void OnCollisionEnter2D(Collision2D collision) //바닥과 충돌 감지
{
    if (collision.gameObject.tag == "Ground")
        _canJump = true;
}

protected virtual void Moving()
{
    if (Input.GetKeyDown(KeyCode.Space) && _canJump)
    {
        _dir = MoveDir.Up;
        _canJump = false;
        GetComponent<Rigidbody2D>().AddForce(Vector2.up * 5.0f, ForceMode2D.Impulse);
    }
}

 

✅ 주의할 점

3D 게임과 2D게임의 collisionEnter 함수 이름에 작은 차이가 있다. 3D에서는 OnCollisionEnter를 2D에서는 OnCollisionEnter2D를 사용한다.

 

이 코드에서 int _jumpCount를 추가해주어 점프를 할 때마다 _jumpCount--;를 하는 등으로 응용하면 이중점프, 삼중점프 등을 만들기 쉽다.

728x90

'공부 > Unity' 카테고리의 다른 글

[Unity] 게임 화면이 파란색만 뜬다  (0) 2022.10.05
[Unity] Object Pooling/Pool Manager는 왜 사용하는가?  (0) 2022.08.25
[Unity] GetKey / GetKeyDown / GetKeyUp  (0) 2022.08.16
[Unity] Tile로 만든 맵, 선이 생겨서 마음에 들지 않을 때  (0) 2022.08.15
[Unity] player가 갈 수 없는 영역 표시하기  (0) 2022.08.15
'공부/Unity' 카테고리의 다른 글
  • [Unity] 게임 화면이 파란색만 뜬다
  • [Unity] Object Pooling/Pool Manager는 왜 사용하는가?
  • [Unity] GetKey / GetKeyDown / GetKeyUp
  • [Unity] Tile로 만든 맵, 선이 생겨서 마음에 들지 않을 때
돌멩이수프
돌멩이수프
Information technology
  • 돌멩이수프
    WHAT DOES "IT" STAND FOR?
    돌멩이수프
  • 전체
    오늘
    어제
    • 분류 전체보기 (239)
      • 언어 (73)
        • html (3)
        • css (1)
        • java (6)
        • C (26)
        • C++ (2)
        • C# (29)
      • 공부 (7)
        • Unity (43)
        • 게임 서버 (26)
        • 네트워크 (5)
        • 데이터베이스 (7)
        • EFCore (19)
        • 기타 (14)
        • Git (5)
        • 운영체제 (1)
        • 소프트웨어공학 (21)
      • 2024-여름 (12)
      • 자기 관리 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바
    C
    백준
    coding
    EFCore
    C#
    Entityfamework
    디자인패턴
    HTML
    유니티
    게임서버
    코딩
    EntityFramework
    라즈베리파이
    네트워크
    tcp
    unity
    C언어
    java
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
돌멩이수프
[Unity] 2D 캐릭터 무한 점프 막기
상단으로

티스토리툴바