[javascript] Fabric.js로 도형의 충돌 여부 확인하기

Fabric.js는 HTML5 캔버스를 위한 강력한 자바스크립트 라이브러리입니다. 이 라이브러리를 사용하면 쉽게 도형을 생성하고 조작할 수 있습니다. 이번 포스트에서는 Fabric.js를 사용하여 도형의 충돌 여부를 확인하는 방법에 대해 알아보겠습니다.

1. Fabric.js 설치하기

먼저 Fabric.js를 설치해야 합니다. 다음 명령어를 사용하여 NPM을 통해 설치할 수 있습니다.

npm install fabric

2. Canvas 생성하기

Fabric.js를 사용하기 위해 먼저 Canvas를 생성해야 합니다. HTML 파일에서 <canvas> 요소를 추가하고, 자바스크립트에서 해당 요소를 선택하여 Fabric.js의 Canvas 객체를 생성합니다.

<canvas id="myCanvas"></canvas>
const canvas = new fabric.Canvas('myCanvas');

3. 도형 생성하기

Canvas에 도형을 추가하기 위해 fabric 객체의 메소드를 사용합니다. 예를 들어, 사각형을 생성하려면 다음과 같이 작성할 수 있습니다.

const rectangle = new fabric.Rect({
  left: 100,
  top: 100,
  width: 200,
  height: 100,
  fill: 'red'
});

canvas.add(rectangle);

4. 충돌 여부 확인하기

Fabric.js에서는 intersectsWithObject 메소드를 사용하여 도형 간의 충돌 여부를 확인할 수 있습니다. 아래 예제는 두 개의 사각형이 충돌했는지를 확인하는 코드입니다.

const rect1 = new fabric.Rect({
  left: 100,
  top: 100,
  width: 200,
  height: 100,
  fill: 'red'
});

const rect2 = new fabric.Rect({
  left: 150,
  top: 150,
  width: 100,
  height: 200,
  fill: 'blue'
});

canvas.add(rect1, rect2);

if (rect1.intersectsWithObject(rect2)) {
  console.log('두 개의 사각형이 충돌했습니다.');
} else {
  console.log('두 개의 사각형이 충돌하지 않았습니다.');
}

위 예제에서는 rect1rect2intersectsWithObject 메소드를 호출하여 충돌 여부를 확인하고, 그에 따라 적절한 메시지를 출력합니다.

Fabric.js를 사용하여 도형의 충돌 여부를 확인하는 방법에 대해 알아보았습니다. 이를 통해 웹 애플리케이션에서 도형들의 상호작용을 더욱 효과적으로 처리할 수 있습니다.

더 자세한 정보는 Fabric.js 공식 문서를 참고하시기 바랍니다.