키보드 입력 이벤트



키보드 입력 이벤트는 말 그대로 사용자가 키보드의 키를 눌렀을 때 발생하는 이벤트입니다.

엔트리에서는 'q 키를 눌렀을 때' 블록으로 사용자의 키 입력 이벤트를 감지할 수 있습니다.





'q 키를 눌렀을 때' 블록의 q부분을 마우스로 클릭하면 엔트리에서 감지할 수 있는 키 목록이 나옵니다.

마우스의 클릭과는 달리 키보드에는 많은 키가 있어서 다양한 신호를 만들어 각각 다르게 동작하게 만들 수 있습니다.


'키를 눌렀을 때' 이벤트를 감지하고 실행하는 블록을 알았으니, 간단한 프로그램을 만들며 익혀 봅시다.






아마도 게임에서 가장 많이 사용되는 기능이 방향키로 오브젝트를 조종하는 기능일 것 같은데요.

왼쪽, 오른쪽, 위쪽, 아래쪽의 4방향 방향키를 눌렀을 때, 맞는 방향으로 오브젝트가 조금씩 움직이는 코드입니다.





이 작품은 피아노의 건반을 키보드의 키 입력으로 실행시키는 프로그램입니다.

배경 그림은 피아노 모양이고, 그 위에 색깔이 들어있는 건반 하나씩 얹어놓았습니다. 그리고 기본 상태로 얹어놓은 각각의 건반들은 보이지 않게 해 주었습니다.

예제의 'e 키를 눌렀을 때'는 '미' 건반의 모양을 보이게 하여 위 그림처럼 '미' 건반에 불이 들어오는 것 같은 효과를 주고, 피아노의 '미' 소리를 재생합니다. 0.2초 정도 잠깐 기다렸다가 다시 원래 보이지 않던 상태로 돌아가게 하는 프로그램입니다.


키보드의 문자 키 맨 윗줄 Q 키부터 P 키까지 10개의 키를 사용하는 프로그램입니다.


키 입력 이벤트를 사용하는 방법도 쉽죠?





키보드와 마우스 입력 이벤트를 마무리 하면서 한 가지를 더 설명해 드릴게요.

키보드, 마우스 입력 이벤트를 시작 블록 꾸러미의 블록을 사용하지 않고도 감지하는 방법이 있답니다.






위의 그림에서 보는 코드처럼 프로그램이 시작되면 그때부터 계속 반복하면서 '방향키가 눌러져 있는가?'를 검사합니다.

눌러져 있지 않으면 아무것도 하지 않겠죠. 

만약 방향키를 누르면 '방향키가 눌러져 있는가?'의 조건식이 참이 되면서 그 안에 있는 코드가 실행되게 됩니다.


이 방법도 키보드를 누르는 이벤트가 발생했을 때 원하는 동작을 실행하도록 한다는 점에서 이벤트 블록과 같죠?

하지만 동작은 조금 다르답니다.


어떻게 다른지는 나중에 심화 수업에서 설명하겠습니다.

직접 두가지 방식으로 코딩하여 실행하면서 비교해 보세요. 어떻게 다른지, 왜 다른지...







댓글

로그인 후 댓글을 남길 수 있습니다.