HTML5 Canvas로 만드는 신비로운 파티클 효과 ✨
HTML5 Canvas를 사용하여 화면에 신비로운 파티클(particle) 효과를 만들어보세요. 이 간단한 프로젝트를 통해 웹 개발의 재미를 느낄 수 있을 것입니다. 주니어 개발자 여러분, 코드를 따라 하면서 창의적인 웹 경험을 만들어보세요!
시작하기 전에
HTML5 Canvas는 웹 페이지에 그래픽을 그리는 데 사용되는 HTML 요소입니다. JavaScript와 함께 사용하여 동적인 그래픽, 애니메이션 등을 만들 수 있습니다. 오늘은 이 Canvas를 사용하여 화면 가득 퍼지는 파티클 효과를 만들어볼 거예요.
기본 HTML 구조
먼저, HTML 파일을 만들고 기본 구조를 설정해보겠습니다. 아래 코드를 복사하여 사용하세요.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>신비로운 파티클 효과</title>
</head>
<body>
<canvas id="particleCanvas"></canvas>
<script src="particle.js"></script>
</body>
</html>
JavaScript로 파티클 생성하기
particle.js
파일을 만들고, 아래 코드를 추가해보세요. 이 코드는 Canvas에 파티클을 생성하고 움직이게 합니다.
const canvas = document.getElementById('particleCanvas');
const ctx = canvas.getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
let particlesArray;
class Particle {
constructor() {
this.x = Math.random() * canvas.width;
this.y = Math.random() * canvas.height;
this.size = Math.random() * 5 + 1;
this.speedX = Math.random() * 3 - 1.5;
this.speedY = Math.random() * 3 - 1.5;
}
update() {
this.x += this.speedX;
this.y += this.speedY;
}
draw() {
ctx.fillStyle = 'white';
ctx.beginPath();
ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);
ctx.fill();
}
}
function init() {
particlesArray = [];
for (let i = 0; i < 100; i++) {
particlesArray.push(new Particle());
}
}
function animate() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
for (let i = 0; i < particlesArray.length; i++) {
particlesArray[i].update();
particlesArray[i].draw();
}
requestAnimationFrame(animate);
}
init();
animate();
이 코드는 Particle
클래스를 만들어 파티클의 위치, 크기, 속도를 정의하고, init
함수에서 이 파티클들을 생성하여 배열에 저장합니다. animate
함수는 이 파티클들을 화면에 그리고, 위치를 업데이트하여 움직이는 효과를 만듭니다.
마무리
이제 HTML 파일을 웹 브라우저에서 열어보세요. 화면에 신비로운 파티클 효과가 나타날 것입니다. 이 효과는 웹사이트의 배경이나 인터랙티브한 요소로 활용할 수 있습니다. 코드를 조금 변경하여 파티클의 색상, 크기, 속도 등을 자유롭게 조정해보세요. 웹 개발의 매력에 빠져보세요!