Canvas 그래픽 애니메이션 구현
JavaScript 와 HTML <canvas> 태그를 사용하여 canvas 에서 애니메이션을 만들 수도 있습니다. canvas 에 움직이는 사각형 애니메이션을 만들어 보겠습니다.
<!doctype html>
<html>
<head>
<title>Animated Canvas</title>
</head>
<body>
<canvas id="myCanvas" style="border: 1px solid black;"></canvas>
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
let x = 20;
let y = 20;
const dx = 5;
function animate() {
requestAnimationFrame(animate);
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = "red";
ctx.fillRect(x, y, 50, 50);
if (x + 50 > canvas.width || x < 0) {
dx = -dx;
}
x += dx;
}
animate();
</script>
</body>
</html>
위 코드에서 먼저 ID myCanvas로 canvas 요소를 가져온 다음, getContext()를 사용하여 2D 드로잉 컨텍스트를 가져옵니다. 그런 다음 사각형의 위치를 저장하기 위해 x와 y 변수를 선언합니다. 또한 사각형을 x 축을 따라 이동시키기 위해 dx 변수를 선언합니다.
그런 다음 화면에 사각형을 그리는 animate() 함수를 만듭니다. 각 프레임마다 canvas 의 이전 그림을 지우기 위해 clearRect() 메서드를 사용합니다. 그런 다음 fillRect() 메서드를 사용하여 사각형을 빨간색으로 채웁니다.
그런 다음 사각형이 canvas 의 경계에 도달했는지 확인하고, 그렇다면 dx의 값을 변경하여 이동 방향을 변경합니다.
마지막으로, 애니메이션 루프를 만들기 위해 requestAnimationFrame() 메서드를 호출합니다.
파일을 저장하고 브라우저를 새로 고쳐 애니메이션 사각형을 확인하십시오.