별의 공부 블로그 🧑🏻‍💻
728x90
728x170

- JavaScript의 타이머를 이용하면 애니메이션을 작성할 수 있음.

 

* 타이머

- JavaScript는 일정 시간마다 처리를 반복하기 위한 타이머라는 기능이 있음.

- 타이머와 canvas를 이용하면 JavaScript로 애니메이션을 작성할 수 있음.

 

 

[타이머를 이용하기 위한 메서드]

 

1) setInterval() 메서드

- 처리의 완료와 관계없이 일정 간격마다 다른 처리를 반복함.

 

setInterval(처리 내용, times);

                        반복할 간격 : 시간의 단위는 밀리초(ms)

 

2) setTimeout() 메서드

- 이 메서드를 실행하면 일정 시간이 지난 후 다른 처리를 호출함.

 

setTimeout(처리 내용, times);

                         대기 시간 간격 : 시간의 단위는 밀리초(ms)

 

[타이머를 정지시키기 위한 메서드]

 

- 타이머를 정지시키려면 setTImeout() 메서드 (또는 setInterval() 메서드)의 반환 값을 구해 두고, 그것을 clearTimeout() 메서드(또는 clearInterval() 메서드)에 전달해야 함.

 

var timer = setTimeout(처리 내용, times);

...

clearTimeout(timer);

 

- 예)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 1초마다 원이 옆으로 이동하는 프로그램
 
<script>
function draw () {
    var now = new Date();
    var sec = new.getSeconds();
    var canvas = document,getElementById("canvas1");
    if(canvas.getContext) {
        var cvs = canvas.getContext("2d");
        cvs.clearRect(00, canvas.width, canvas.height);
        cvs.save();     
        cvs.beginPath();
        cvs.arc(sec*5150500, Math.PI*2true);    // 가로 위치는 초 수에 따라 바뀜.
        cvs.closePath();
        cvs.fillStyle="#666666";
        cvs.fill();
        cvs.restore();      // save() 메서드와 restore() 메서드를 사용하여 이 함수 안의 상태 변하가 다른 것에 영향을 주지 않도록 함.
        setTimeout("draw();"1000);    // 1초 후에 자기 자신을 호출함.
    }
}
</script>
cs

 

내용 출처 : HTML5가 보이는 그림책 (ANK Co., Ltd 저, 성안당)

728x90
그리드형(광고전용)

'Programming > HTML5' 카테고리의 다른 글

File API  (0) 2017.05.19
Indexed Database API  (0) 2017.05.19
Web Storage  (0) 2017.05.19
이미지 표시  (0) 2017.05.19
도형 그리기 4  (0) 2017.05.19
도형 그리기 3  (0) 2017.05.19
도형 그리기 2  (0) 2017.05.19
도형 그리기 1  (0) 2017.05.19
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖