인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

인표짱님의 프로필 이미지
인표짱

작성한 질문수

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

02-03 Enemy_02 (Frog)

적에게 닿은상태로 있을때

작성

·

175

0

적에게 닿고 체력이 깎인다음 닿은상태를 유지하면 체력이 깎이지 않습니다 닿은상태에서 벗어난뒤 다시 닿으면 체력이 깎이지만 어색하다고 생각됩니다 적에게 닿은상태를 유지해도 무적시간이 끝난뒤에 다시 피격되도록 하는방법이 없을까 궁금합니다

EnemyCollider 에서 OnTriggerEnter2D 로 체력이 깎이도록 되어있는데 어떻게 하면 좋을까요

답변 1

1

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

OnTriggerEnter2D는 충돌한 순간 1회만 발동되기 때문에 현재와 같은 코드에선 다시 떨어졌다가 붙어야 합니다.

얘기한대로 수정하기 위해서는

충돌 여부를 저장하는 별도의 변수를 선언하고 bool isCollideToPlayer = false;

OnTriggerEnter2D에서 isCollideToPlayer = true;

OnTriggerExit2D에서 isCollideToPlayer = false; 로 설정합니다.

 

그리고 Update()에서

if ( isCollideToPlayer == true )

{

플레이어 체력 감소

}

 

와 같이 작성하면 충돌이 유지되는 상태에서 isCollideToPlayer는 계속 true로 설정되어 체력이 계속 감소되게 할 수 있습니다.

인표짱님의 프로필 이미지
인표짱
질문자

친절하고 빠른 답변 너무 감사드려요

인표짱님의 프로필 이미지
인표짱

작성한 질문수

질문하기