앞서, 포스팅에서 특정 좌표가 원 안에 있을 때 감지하는 글을 작성했는데 원이 아닌 타원형으로 감지하고 싶을 때가 있다. 원은 원인데 횡스크롤이나 2.5D기반 게임이라서 감지할 X축의 크기를 넓히고 싶다던지 등 게임 내에서도 여러모로 유용하게 사용할 수 있다. 구현 방법은 이전 포스팅과 비슷하다. function isPointInEclipse(pointX: number, pointY: number, circleX: number, circleY: number, rx: number, ry: number) { return (pointX - circleX) ** 2 / rx ** 2 + (pointY - circleY) ** 2 / ry ** 2
격투 게임에서 원형 임팩트를 가진 스킬 사용시 원안에 있는 적에게 대미지를 주려고 한다면 어떻게 구현할 수 있을까? 간단하게 피타고라스 정리를 이용하여 구현할 수 있다. function isPointInCircle(pointX: number, pointY: number, circleX: number, circleY: number, radius: number) { return (pointX - circleX) ** 2 + (pointY - circleY) ** 2 이 함수는 주어진 좌표 평면에서 점이 원 내에 있는지 확인하는 함수이다. 피타고라스의 정리에 의하면 빗선의 길이는 수식 x^2 + y^2 = r^2 중에서 r^2이며, 빗선은 원의 반지름과 같다.즉, 특정 좌표(x^2 + y^2)가 원의 반..