지난번에 말씀드린 CLOCK 애니메이션은 구현해 보셨나요? 이번 포스팅에서는 지난번 숙제로 내드린 CLOCK 애니메이션 구현에 대해 포스팅하도록 하겠습니다.
| 애니메이션 속도 조절
지난번 포스팅을 보면 이미지와 이미지 사이에 sleep( ) 함수를 사용하셨을 텐데요. 만약 숫자가 마음에 들지 않을 경우 일일이 숫자를 찾아서 고쳐야 하는 불편함이 있습니다. 이러한 불편함을 없애기 위해서 하나의 변수에 값을 넣고 이 것을 sleep( ) 함수에 이용하면 됩니다. 말로 설명드리면 어렵죠? 아래의 파이썬 소스를 통해 설명드리도록 하겠습니다.
from microbit import *
DELAY_TIME = 200
while True :
display.show(Image.CLOCK1)
sleep(DELAY_TIME)
display.show(Image.CLOCK2)
sleep(DELAY_TIME)
display.show(Image.CLOCK3)
sleep(DELAY_TIME)
display.show(Image.CLOCK4)
sleep(DELAY_TIME)
display.show(Image.CLOCK5)
sleep(DELAY_TIME)
display.show(Image.CLOCK6)
sleep(DELAY_TIME)
display.show(Image.CLOCK7)
sleep(DELAY_TIME)
display.show(Image.CLOCK8)
sleep(DELAY_TIME)
display.show(Image.CLOCK9)
sleep(DELAY_TIME)
display.show(Image.CLOCK10)
sleep(DELAY_TIME)
display.show(Image.CLOCK11)
sleep(DELAY_TIME)
display.show(Image.CLOCK12)
sleep(DELAY_TIME)
파이썬 코드를 실행을 시키면 아래와 같은 속도로 이미지가 보이게 됩니다.
지난번 포스팅에서 부드럽게 보이기 위해서 1초에 15장 정도의 이미지가 있어야 하고, 그렇게 하기 위해서는 이미지 사이의 간격이 67ms가 돼야 한다고 말씀드렸습니다. 이를 변경하기 위해서 모든 delay( ) 함수를 찾아서 일일이 값을 변경하는 것이 아닌 코드에서 'DELAY_TIME = 200'을 'DELAY_TIME = 67'로 변경만 합니다.
DELAY_TIME = 67
만약 이전 값을 기억해야 한다면 주석(#) 처리를 하기와 같이 해도 됩니다.
DELAY_TIME = 67 #200
이제 변경된 코드를 마이크로 비트에 업로드(Flash)를 하게 되면 아래와 같이 이미지의 속도가 변경됨을 볼 수 있습니다.
저는 1초에 15장 정도가 나타나는 것이 이미지가 부드러워져서 좋긴 한데, 이건 하는 분마다 호불호가 갈리더군요. 보여드렸던 예제를 활용해서 자신만의 조금 긴 애니메이션을 만들어 보시길 바랍니다.
긴 글 읽어 주셔서 감사합니다.
'오픈소스하드웨어 > 마이크로:비트' 카테고리의 다른 글
[마이크로 비트 with 파이썬] 버튼 사용법 (0) | 2020.03.20 |
---|---|
[마이크로 비트 with 파이썬] LED 애니메이션 (3) (0) | 2020.03.19 |
[마이크로:비트 with 파이썬] LED 애니메이션 (1) (0) | 2020.03.16 |
[마이크로:비트 with 파이썬] LED 이미지 (0) | 2020.03.13 |
[마이크로:비트 with 파이썬] Hello, World (0) | 2020.03.06 |
댓글