기본 애니메이션 - Web API | MDN
<canvas> 요소는 자바스크립트로 제어하는 것이므로, 애니메이션도 쉽게 만들 수 있습니다. 복잡한 애니메이션을 만드는 것은 추가 작업이 더 필요하고, 앞으로 그에 대한 페이지도 머지 않아 추
developer.mozilla.org
- 도형은 한번 만들어 놓으면 그 모습 그대로 있다는 것이 애니메이션 제작 할 때의 제약일 것.
- 도형을 움직이고자 하면 그 도형이 그러지기 전에 그려진 모든 것을 다시 그려야 함.
- 기본 단계
- 캔버스 비우기 - 그리려는 도형이 캔버스를 가득 채우는 것이 아니라면, 이 전에 그려진 모든 도형을 지운다. clearRect() 사용
- 캔버스 상태를 저장 - 캔버스 상태에 영향을 주는 (스타일 변경, 모양 변형 등의) 설정값을 바꾸려고 하고, 바뀐 값을 각 장면마다 사용하려고 한다면, 원래 상태를 저장할 필요가 있음
- 애니메이션 할 도형 그리기 - 실제 장면을 그리는 단계
- 캔버스 상태를 복원 - 새로운 장면을 그리기 전에 저장도니 상태 복원
- 애니메이션 제어하기
- 코드 실행이 완료되면 캔버스에 나타나는 결과만을 보게 되므로 for 문 같은 반복문 안에서 에니메이션 실행은 불가능.
- 그래서, 정해진 시간마다 그리기 함수를 실행하는 방법이 필요.
- window.setInterval( func, delay ) - delay마다 함수 반복 실행
- window.setTimeout( func, delay) - delay 후 함수 실행
- window.requestAnimationFrame() - 현재 에니메이션 만드는 방법 중 추천 되는 방식
- 사용자 상호 작용 변경 - EventListner 설정 (마우스 키보드 )
'FrontEnd > HTML, CSS' 카테고리의 다른 글
three.js 입문 (ing) (0) | 2023.09.30 |
---|---|
three.js 공부하기 전 용어 정리 (0) | 2023.09.29 |
canvas 정리 (0) | 2023.09.27 |
[css] linear-gradient (0) | 2023.09.27 |
[css] min(),max(),clamp() : css 함수를 통한 반응형 웹 (0) | 2023.09.26 |