더북(TheBook)

애니메이션 stddraw.show()에 인수를 전달하면 프로그램은 이후에 또 다른 작업을 진행할 수 있다. 즉 배경 캔버스를 표준 그래픽스 창으로 복사하고 나서 인수로 전달한 숫자의 밀리초만큼만 기다린다. 잠시 후에 살펴보겠지만, 이 기능과 배경 캔버스를 지우는 기능을 결합하면 표준 그래픽스 창 안에 역동성을 부여함으로써 재미있는 효과를 무한히 만들어낼 수 있다. 이런 효과를 이용하면 사람들의 눈길을 끌어모을 수 있다. 이제부터 이런 효과를 만들어내는 방법에 대해 알아보자.

 

▼ 표 1.5.8 애니메이션 함수들

함수

설명

stddraw.clear(color)

모든 픽셀을 color 색상으로 채워 배경 캔버스를 지운다.

stddraw.show(t)

표준 그래픽스 창에 그림을 보여주고 t 밀리초 동안 대기한다.

 

공 튕기기 텍스트 모드에서 Hello, World 프로그램이 있다면 애니메이션에서는 캔버스를 돌아다니는 검은 공이 있다. (rx, ry)에 공이 있다고 가정하자. 그런데 이 공을 가령 (rx + 0.01, ry + 0.02) 등의 위치로 움직이는 것처럼 보이게 하려면 다음과 같이 하면 된다.

• 배경 캔버스를 지운다.

• 새로운 위치에 검은 공을 그린다.

• 그림을 보여주고 잠시 기다린다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.