뉴질랜드 다이어리(NZ Diary) 라빠

[Scratch] Scratch 기본 익히기 #6 - 코드의 이해(이벤트, 제어) 본문

개발

[Scratch] Scratch 기본 익히기 #6 - 코드의 이해(이벤트, 제어)

Donochi 2019. 9. 4. 16:09

이번 강의에서는 뭔가 '프로그램'하면 떠오르는 블록들을 배우게 됩니다. 그럼 조금더 프로그래머다워져 볼까요?

이벤트

이벤트 카테고리는 외부(혹은 내부)에서 발생할 수 있는 이벤트를 처리하는 블록들입니다.

여기서 말하는 이벤트란 사용자가 마우스(혹은 키보드)를 눌렀거나, 앱 내부의 상태가 변화한 것을 말합니다.

이벤트 카테고리의 블록들은 크게 이벤트가 발생했을때 이를 처리하는 처리블록과, 이벤트(메시지)를 발생시키는 생성블록으로 나누어집니다.

생성블록

https://i.imgur.com/PHQcs2g.png

사용자의 행동(마우스 클릭, 키보드 클릭)외에도 앱 내부의 상태 변화를 이벤트로 만들어 방송할 수 있습니다. 예를들어, 새로운 적 등장 이라는 이벤트를 만들어서 방송할 수 있습니다. 앱 내의 다양한 스프라이트들은 이 새로운 이벤트를 자신에 맞게 처리할 수 있습니다. (물론 처리하지 않을 수도 있습니다.)

메시지란 쉽게 라디오를 방송하는것을 연상하면 됩니다. 라디오는 특정한 대상을 지정하지 않고 방송을 하고 누구나 그 방송을 들을 수 있습니다. 이와 마찬가지로, 누군가 메시지를 보내면, 앱 내에 존재하는 모든 스프라이트는 그 메시지를 받아서 처리할 수 있습니다.

처리블록

https://i.imgur.com/St0tVJD.png

특정한 이벤트가 방송되었을때, 해당 이벤트를 처리하고자 하는 스프라이트는 이 처리블록 을 이용하여 이를 코딩할 수 있습니다. 예를들어, 위에서 생성한 새로운 적 등장 이라는 이벤트를 처리하고자 하면 새로운 적 등장 신호를 받았을때 라는 블록을 이용하여 코딩을 하면 됩니다. (해당 처리블록을 스프라이트가 가지고 있지 않으면, 해당 메시지는 무시됩니다.)

제어

https://i.imgur.com/EF704tk.png

제어 카테고리의 블록들은 기다리기, 반복하기, 조건에따라 실행하기 등과같이 블록의 실행을 제어하는 블록입니다. 예를들어, 10 만큼 움직이기 를 10번 반복해야 하는 상황이라면 10번 반복하기 블록을 이용할 수 있습니다. (물론 10만큼 움직이기 블록을 10개 연결하거나, 100 만큼 움직이기 라는 블록을 사용해도 됩니다.)

https://i.imgur.com/c4UUnKj.png

제어 카테고리의 복제되었을 때, 나 자신 복제하기, 이 복제본 삭제하기 블록은 차후 중급과정에서 다루겠습니다.