상세 컨텐츠

본문 제목

스크래치 프로그래밍: 스크립트 블럭(Scripts Blocks) 구성

프로그래밍/스크래치

by 삶의 재발견 2014. 2. 18. 06:26

본문

반응형

스크래치 프로그래밍(Scratch Programming)은 레고블럭을 이용해서 작품을 완성하는 것과 같이, 스크래치가 제공하는 스크립트 블럭(Scripts Blocks)을 활용해서 원하는 프로그램을 만들게 됩니다. 따라서 스크래치에서 기본적으로 제공되는 스크립트 블럭의 특성을 잘 파악하고 있어야 원하는 프로그램을 제대로 작성할 수 있습니다.


스크래치 스크립트 블럭은 총 10종류로 되어 있으며, 구성요소는 동작(Motion), 이벤트(Event), 형태(Looks), 제어(Control), 소리(Sound), 관찰(Sensing), 펜(Pen), 연산(Operator), 데이터(Data), 추가(More) 블럭이 있습니다.


각 블럭별 세부 내용을 보면 다음과 같습니다.


■ 동작(Motion) 블럭


동작블럭에는 스프라이트의 움짐임(이동과 방향)을 처리할 수 있는 블럭들과 현재 스프라이트의 위치(x 좌표, y 좌표)와 방향에 대한 정보를 확인할 수 있는 블럭이 있습니다.


동작(Motion) 블럭



■ 이벤트(Event) 블럭


이벤트 블럭에는 다양한 이벤트(클릭, 키보드, 배경변화, 음량, 메시지 수신/방송)에 대한 처리를 할 수 있는 기능이 제공됩니다.




■  형태(Looks) 블럭


형태 블럭에는 스프라이트에 대한 다양한 형태(모양변경, 보이기/숨기기, 말하기, 생각하기, 배경, 크기, 위치(순서))에 대한 변경할 수 있는 기능을 제공하며, 모양 번호, 배경이름, 크기와 같은 속성 정보도 있습니다.




■  제어(Control) 블럭


제어 블럭에는 프로그램에서 가장 중요한 반복과 선택에 대한 기능을 포함하여 기다리기, 멈추기, 복제에 대한 제어기능을 제공하는 부분으로 가장 핵심이 되는 블럭입니다.




■ 소리(Sounds) 블럭


소리 블럭에는 음량, 박자, 소리내기/끄기, 빠르기를 관리할 수 있으며, 음량과 빠르기에 대한 속성 정보도 있습니다.




■ 관찰(Sensing) 블럭


관찰 블럭에는 스프라이트의 위치, 마우스, 비디오 등에 대한 정보를 담고 있으며, 마우스 좌표, 사용자의 대답, 음량, 타이머, 현재시간, 사용자이름, 2000년 이후 경과일 등의 속성 정보도 있습니다.




■ 펜(Pen) 블럭


펜 블럭에는 무대에 그림을 그릴 수 있는 펜에 대한 제어 기능을 제공하며, 지우기, 도장찍기, 펜 색깔, 음영, 굵기 등을 조정할 수 있습니다.




■ 연산(Operator) 블럭


연산 블럭에는 사칙연산(더하기, 빼기, 곱하기, 나누기), 나누기의 나머지, 반올림, 제곱근 등의 수학적 연산 처리와 난수 발생, 크기비교, 논리연산, 문자결합, 문자열에서 특정 위치의 문자, 문자열 길이 등에 계산할 때 활용가능합니다.




■ 데이터(Data) 블럭


데이터 블럭에는 변수와 리스트를 정의하고, 세부 내용을 조작할 수 있습니다. 변수는 하나의 값을 가질 수 있는 반면 리스트는 여려 값(항목)들을 관리할 수 있는 점에서 차이가 있습니다.

변수의 경우, 변수 값을 정하고, 1씩 증가, 보이기/숨기기를 할 수 있습니다. 리스트에 항목(값) 추가/삭제, 특정 위치 값 추가/변경, 리스트의 크기, 특정 위치의 항목(값), 리스트 보이기/숨기기 등을 할 수 있습니다.




■ 추가(More) 블럭


기본적으로 제공되는 블럭이 외의 추가적으로 사용자가 필요한 기능을 새로운 블럭으로 만들어 활용하기 위한 것입니다.




■ 스크래치 스크립트 블럭(Scratch Scripts Blocks)과 순서도 관계


스크래치 스크립트의 블럭과 일반적으로 활용되는 순서도의 주요 구성요소(시작/끝, 입/출력, 처리, 판단)와의 관계를 정리해 보면 다음과 같이 될 듯 합니다. (주관적인 내용이니 이점 참조해서 이해하시면 좋겠습니다.)


시작/끝은 주로 이벤트와 관련되며, 제어블럭의 "복제되었을 때"와도 일부 연관성이 있는 듯 합니다.


반응형

관련글 더보기