스크래치 2.0 오프라인 에디터를 실행하면 다음과 같은 창이 나타납니다. 우측화면 무대에 고양이 한마리가 있는데, 이 스프라이트(Sprite)를 이용해서 간단하게 이벤트, 동작, 형태, 제어를 이용한 프로그램을 작성해보도록 하겠습니다.
■ 예제 프로그램 개요
이번에 작성할 프로그램은 무대에 있는 정적으로 서있는 고양이를 프로그램을 통해서 반복해서 좌우로 걸어가게 만드는 것입니다.
■ 예제 프로그램 작성
를 클릭할 때마다, 스프라이트 스크립트가 동작을 하게 하기 위해서, 제어블럭의 "클릭했을 때"를 선택해서 우측 스크립트 창에 옮겨 놓습니다.
고양이를 움직이게 하기 위해서 동작블럭 중 하나인 "10만큼 움직이기"를 우측영역으로 옮겨 "클릭했을 때"와 결합을 합니다.
를 클릭하면 고양이가 우측으로 조금 이동을 할 것입니다.
이번에는 고양이가 이동할 때마다, 모양을 조금씩 바꿔서 보다 자연스럽게 이동할 수 있도록 해보겠습니다.
"모양"에가서 보면 고양이 그림이 2개가 있습니다. 하나의 스프라이트 내에 여러 개 모양이 있을 수 있으며, 프로그램을 통해서 모양들을 변경할 수 있습니다.
모양블럭 중 하나인 "다음 모양으로 바꾸기"를 옮겨 기존 블럭들과 결합 합니다.
이제 를 클릭하면 고양이가 우측으로 조금 이동하면서 고양이 모양이 걸어가는 것과 같이 바뀌게 됩니다.
이제 를 클릭하면 고양이가 계속 우측으로 이동하게 됩니다. 벽에 닿아도 계속 직진(?)을 하는 직진 본능을 가지고 있습니다.
벽을 만나면, 다시 돌아가도록 하려면 동장블럭 중 "벽에 닿으면 튕기기"를 이용하면 됩니다.
벽에서 튕기기는 하지만, 모양이 이상하게 됩니다. 이를 해결하려면, 형태블럭에서 "회전방식을 왼쪽에서 오른쪽으로 정하기"를 아래 그림처럼 결합시키면 됩니다. 이 블럭을 무한 반복에 넣어도 되지만, 한 번만 실행해되 되는 블럭을 무한 반복을 통해 계속 실행하게 하는 것은 비효율적이므로 위에 한 번만 실행될 수 있도록 배치하였습니다.
좀 더 부드러운 동작을 위해서는 무한 반복 블럭 사이에 제어에 있는 "1초 기다리기"를 추가하면 됩니다. 시간을 조절하면 이동하는 속도를 조절할 수 있습니다.
■ 프로그램 응용하기
1. 고양이가 걸어갈 때 마다 소리를 내게 하려면 어떻게 해야할까요? 힌트는 "소리" 블럭을 이용하면 됩니다.
2. "s"를 눌렀을 때, 고양이가 움직이고 시작하고, "스페이스"를 불렀을 때 멈추게 하려면 어떻게 해야 할까요?
3. 화살표(↑ ↓)를 눌렀을 때, 고양이의 위치가 상하로 움직이게 하려면 어떻게 해야 할까요?
스크래치 프로그래밍: 관찰/제어/연산 기초 활용 (0) | 2014.02.22 |
---|---|
스크래치 프로그래밍: 재귀호출 구현 (0) | 2014.02.20 |
스크래치 프로그래밍: 스크립트 블럭(Scripts Blocks) 구성 (1) | 2014.02.18 |
스크래치(Scratch) 개발환경(Editor)과 프로그래밍 (0) | 2014.02.13 |
스크래치(Scratch) 프로그래밍 언어의 기본 개념과 설치 (0) | 2014.02.13 |