Skip to main content

5. 파티클 방출구 시스템

  • 파티클 방출구의 집합, 즉, 시스템의 시스템을 구축해 봅시다.
  • 마우스를 클릭할 때마다 입자를 방출해 봅니다.

예제 코드 4.4: 시스템의 시스템

let emitters = [];

function setup() {
createCanvas(640, 240);
}

function mousePressed() {
emitters.push(new Emitter(mouseX, mouseY));
}

function draw() {
background(255);

for (let emitter of emitters) {
emitter.addParticle();
emitter.run();
}
}
연습 문제 4.5

예시 4.4를 재작성해 각 입자 시스템이 영원히 존재하지 않도록 만들어 봅시다. 각 시스템이 생성할 수 있는 입자 수에 제한을 둡니다. 그리고 입자 시스템에 남아있는 입자가 없으면(비어 있으면) emitters 배열에서 제거합니다.

연습 문제 4.6

물체가 많은 조각으로 부서지는 시뮬레이션을 만들어 봅시다. 어떻게 하나의 큰 도형을 많은 작은 입자로 만들까요? 화면에 여러 개의 큰 도형을 만들고 각각을 클릭하면 산산조각 나도록 할 수 있을까요?