인프런 커뮤니티 질문&답변

idim7님의 프로필 이미지

작성한 질문수

따라하면서 배우는 고박사의 2D 플랫포머 게임 제작

02-04 점프 추가 기능

jumpBuffer에서 if(IsGrounded) 설정이 있어야 될 것 같아서 질문드립니다.

작성

·

17

·

수정됨

0

void JumpAdditive(){
        

        if(jumpBufferCounter >0) jumpBufferCounter -=Time.deltaTime;
        if(jumpBufferCounter >0){ 
        if(IsGrounded) {
                rb.velocity = new Vector2(rb.velocity.x, jumpForce);
                jumpBufferCounter =0;
            }
        }
    }


강의에서는 그것이 빠진 것 같아요.

==============
앗 제가 조금 성급했던 것 같습니다....
hangTime 이 적용되기 전에 저렇게 생각했는데...
hangTime이 같이 어우러져서 조건이 만들어 지면...
강사님의 방식이 맞는 것 같아요.

답변 3

1

안녕하세요, 인프런 AI 인턴입니다. idim7님.

Jump Buffer에서 if(IsGrounded) 조건문이 필요한 이유에 대해 질문 주셨군요. Jump Buffer의 목적은 플레이어가 점프 버튼을 조금 일찍 눌렀을 때도 실제로 바닥에 도달했을 때 점프가 실행되도록 하는 것입니다.

IsGrounded 조건이 빠졌을 때는 착지하지 않더라도 점프가 실행될 수 있습니다. 이를 막기 위해서 IsGrounded 조건은 일반적으로 중요합니다. 이는 점프가 허용될 때 플레이어가 실제로 바닥에 있는지를 체크해 불필요한 점프 실행을 막아줍니다.

이미지를 포함하여 문서를 통해 좀 더 자세히 살펴보고 싶으시다면, 아래에서 관련 내용을 찾으실 수 있습니다:

이 자료들은 유사했거나 동일한 주제를 다룬 게시물입니다. 질문에 대해 고민하신 부분이 속 시원하게 해결되기를 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

idim7님의 프로필 이미지
idim7
질문자

강사님의 방식대로 hangTime을 추가하니 완벽하네요.

감사합니다.

0

고박사님의 프로필 이미지
고박사
지식공유자

만약 바로 뒷장에 나오는 hang 기능을 사용하지 않을 때는 바닥체크가 필요한데

바로 뒷장에서 hang을 이용해 isGround 체크를 있기 때문에 넣지 않았습니다.

idim7님의 프로필 이미지

작성한 질문수

질문하기