LadyBug 제작 (3)
이번 포스팅에서는 추가로 아이템이 될 객체를 생성해보고 해당 아이템을 플레이어가 먹었을 때 충돌 처리를 추가해보겠습니다.
몬스터이라고 생각하면 몬스터의 이동방향, 속도, 그외 정보도 추가해야 하겠지만 일단 이번에는 충돌 처리만 다루도록 하겠습니다.
해당 아이템이 그려질 수 있도록 상위 클래스의 배열에 위치 값을 저장해두었습니다.
이후 해당 배열을 이용해서 화면에 반복적으로 그려줍니다. 그리는 코드 자체는 플레이어를 그리는 코드와 동일합니다.
화면에 잘 표시 되네요. 이제는 아이템에 대한 충돌에 대한 처리를 해보겠습니다.
충돌 처리는 이후 라이프, 플레이어 추가 효과등이 적용 될 수 있으므로 플레이어 클래스에 아이템 배열을 전달해 처리하도록 하겠습니다.
처음에는 if문으로 직접 모두 플레이어 객체의 위치 + 넓이와 아이템의 위치 + 넓이를 비교하였었는데
그냥 간단하게 overlaps를 사용하였습니다.
다만 이때 아주 조금만 아이템과 겹치게 되도 충돌처리를 하게 되면 사용자가 인지하기 힘드므로
아이템이 그려지는 크기와 별게로 충돌 판정의 넓이는 더 작게하였습니다.
이후 충돌한 객체는 아이템 리스트에서 삭제하였습니다.
실행 영상입니다. 아이템이 적당하게 겹치면 사라지는군요 ㅋㅋㅋ 다만 충돌 판정에 대해서는 몇번 플레이 해보면서 알맞은 값으로 수정하는 것이 중요해보이네요.
다음 포스팅에서는 추가로 방향과 속도를 가진 이동하는 몬스터 객체를 생성해보겠습니다.
전체 코드는 GitHub를 참고해주세요.
질문 및 잘못된 내용이 있다면 댓글 남겨주세요.
GitHub - beomsuong/lady_bug
Contribute to beomsuong/lady_bug development by creating an account on GitHub.
github.com