[javascript] P5.js의 사용 사례를 알려주세요.

P5.js의 사용 사례

P5.js는 웹 브라우저에서 작동하는 JavaScript 기반의 크리에이티브 코딩 라이브러리입니다. P5.js를 사용하면 그래픽, 애니메이션, 사운드, 인터랙션 등 다양한 표현 방식으로 웹 페이지를 개발할 수 있습니다. 아래에서 몇 가지 P5.js의 사용 사례를 살펴보겠습니다.

1. 그래픽 작업

P5.js를 사용하면 다양한 그래픽 작업을 수행할 수 있습니다. 다양한 도형을 그리거나 이미지를 로드하고 변형하는 등의 작업이 가능합니다. 예를 들어, 아래는 원을 그리는 간단한 예제입니다.

function setup() {
  createCanvas(500, 500);
}

function draw() {
  background(220);
  fill(255, 0, 0);
  ellipse(250, 250, 100, 100);
}

2. 애니메이션 만들기

P5.js를 사용하면 쉽게 애니메이션을 만들 수 있습니다. 프레임마다 그림을 그려 움직이는 효과를 줄 수 있습니다. 아래는 그림판을 만들어 마우스 움직임에 따라 선이 그려지는 예제입니다.

function setup() {
  createCanvas(500, 500);
}

function draw() {
  background(220);
  stroke(0);
  strokeWeight(3);
  if (mouseIsPressed) {
    line(pmouseX, pmouseY, mouseX, mouseY);
  }
}

3. 사운드 처리

P5.js는 웹 오디오와 사운드 처리를 지원합니다. 오디오 파일을 재생하거나 실시간으로 마이크 입력을 받는 등의 작업이 가능합니다. 아래는 오디오 파일을 로드하고 재생하는 예제입니다.

let sound;

function preload() {
  sound = loadSound('path/to/sound.mp3');
}

function setup() {
  createCanvas(500, 500);
  sound.play();
}

function draw() {
  // 그래픽 작업 등 추가로 수행할 작업
}

4. 인터랙션 생성

P5.js를 사용하면 사용자와 상호작용하는 웹 페이지를 만들 수 있습니다. 마우스 이벤트, 키보드 입력 등을 처리하여 다양한 상호작용 요소를 추가할 수 있습니다. 아래는 마우스 클릭에 반응하는 예제입니다.

let circleX = 250;
let circleY = 250;

function setup() {
  createCanvas(500, 500);
}

function draw() {
  background(220);
  fill(255, 0, 0);
  ellipse(circleX, circleY, 100, 100);
}

function mouseClicked() {
  if (mouseX > circleX - 50 && mouseX < circleX + 50 && mouseY > circleY - 50 && mouseY < circleY + 50) {
    fill(0, 255, 0);
  }
}

이외에도 P5.js를 사용하여 웹 기반 게임, 데이터 시각화, 디지털 예술 등 다양한 작업을 할 수 있습니다. P5.js의 자세한 사용법은 공식 문서를 참고하시기 바랍니다.