[javascript] Paper.js를 사용하여 웹 사이트 배경 애니메이션 구현하기

웹 사이트에 동적하고 흥미로운 배경 애니메이션을 구현하려면 Paper.js를 활용할 수 있습니다. Paper.js는 HTML5 캔버스를 기반으로한 벡터 그래픽 라이브러리로, 다양한 도형, 경로, 애니메이션을 생성하고 조작할 수 있다는 장점이 있습니다.

이 튜토리얼에서는 Paper.js를 사용하여 웹 사이트의 배경에 움직이는 도형을 생성하는 방법을 살펴보겠습니다.

Paper.js 설치하기

Paper.js를 사용하기 위해선 먼저 해당 라이브러리를 프로젝트에 설치해야 합니다. 아래의 명령어를 사용하여 Paper.js를 설치합니다.

npm install paper

또는 HTML 파일에서 스크립트 태그를 사용하여 CDN을 통해 Paper.js를 로드할 수도 있습니다.

<script src="https://unpkg.com/paper@0.12.11/dist/paper-full.min.js"></script>

Paper.js로 배경 애니메이션 생성하기

Paper.js를 설치하고 프로젝트에 추가했다면, 이제 배경 애니메이션을 생성할 준비가 되었습니다.

HTML 파일에 <canvas> 요소를 추가하여 캔버스를 생성합니다. 캔버스는 배경 애니메이션을 렌더링할 영역입니다.

<canvas id="myCanvas"></canvas>

Paper.js를 사용하여 JavaScript 코드로 배경 애니메이션을 생성합니다. 아래의 예제 코드를 참고하세요.

// Paper.js 초기화
paper.install(window);
paper.setup(document.getElementById('myCanvas'));

// 배경 색상 설정
project.activeLayer.fillColor = 'black';

// 움직이는 도형 생성
var path = new Path.Circle(view.center, 30);
path.fillColor = 'white';

// 프레임마다 도형 위치 변경
function onFrame(event) {
    path.position.x += Math.sin(event.count / 30);
    path.position.y += Math.cos(event.count / 30);
}

// 애니메이션 시작
view.onFrame = onFrame;

위의 코드에서 myCanvas는 캔버스의 id이며, 해당 요소를 찾아 Paper.js를 초기화합니다.

project.activeLayer.fillColor를 사용하여 배경 색상을 설정할 수 있습니다.

new Path.Circle을 사용하여 원을 생성하고, path.fillColor를 사용하여 원의 색상을 설정합니다.

onFrame 함수는 프레임이 갱신될 때마다 호출되며, 원의 위치를 조정하여 움직이도록 만듭니다.

마지막으로, view.onFrameonFrame 함수를 할당하여 애니메이션을 시작합니다.

실행 결과 확인하기

코드를 작성하고 저장한 뒤 웹 브라우저에서 HTML 파일을 열어 실행해 보면 배경 애니메이션이 동작하는 것을 확인할 수 있습니다.

Paper.js를 사용하여 웹 사이트 배경에 동적인 애니메이션을 구현하는 방법에 대해 알아보았습니다. Paper.js의 다양한 기능을 활용하여 더욱 흥미로운 애니메이션을 만들어 볼 수 있습니다.

Paper.js 공식 문서(https://paperjs.org/)에서 더 자세한 정보와 예제를 찾아볼 수 있습니다.