1. 프로그램 스토리 구상과 ‘Object’ 개념 안녕하세요. 앞에서 스크래치로 정말 간단한 프로그램을 만들어 보았어요. 시시했죠? 이번엔 좀더 재미있는 것을 만들어 보겠어요. 키보드의 입력을 받아 캐릭터들이 화면에서 반응하는 게임 같은 거죠. 우선 스토리를 만들어야 해요. 고양이가 도넛을 먹는 것은 어떨까요? ‘스프라이트 리스트’구역의 오른쪽 위에 있는 ‘New sprite’중에서 ‘Choose sprite from library’버튼을 선택해요.
새로운 화면의 왼쪽에서 ‘Things’을 선택하고 ‘Donut’을 두 번 클릭하세요. 그러면, ‘스테이지’구역에 고양 이와 도넛이 겹쳐져 있게 되 요. 항상
새로운
‘스테이지’ 나타나요.
마우스를 이용해 고양이는 왼쪽에, 도넛은 오른쪽으로 옮기 세요. 컴퓨터 프로그램에서는, 고양이와 도넛을 각각 다른 ‘Object’ 라고 해요. 그래서 이들 두 ‘Object’에 대한 프로그램을 따로 만들 후, 두 ‘Object’가 충돌했을 때의 경우를 꼭 생각 해서 프로그래 밍을 해야 해요.
스프라이트는
구역의
가운데에
2. 고양이 ‘Object’에 관한 프로그래밍 그럼, 고양이 ‘Object’을 움직이게 하는 프로그램을 시작해요. 먼저, 스토리를 생각해야 해요. 키보드의 오른쪽 화살표를 누르면 고양이가 오른쪽으로 가고, 왼 쪽 화살표를 누르면 왼쪽으로 가는 프로그램을 만들기로 해요. 우선 ‘스프라이트 리스트’구역에 고양이가 선택되어 있어야 해요. ‘팔레트’구역의 ‘Events’기능 중 ‘when space key pressed’블록을, ‘스크립트 영역’에 두 번 가져 오세요. 위 블록 안의 ‘space’는 ‘right arrow’로, 아래 블록 안의 ‘space’는 ‘left arrow’로 바꾸세요.
그런 다음, ‘Motion’기능의 ‘move 10 steps’블록을 ‘스크립트 영역’에 두 번 불러, ‘Event’기능의 블 록들 밑에 붙이고, 아래의 ‘10’을 ‘-10’으로 바꾸세요. 이제, 키보드의 오른쪽 화살표와 왼쪽 화살 표를 눌러 고양이가 어떻게 움직이는 지 확인해 보세요.
아직까지는, 도넛 ‘Object’와 충돌 했을 때, 고양이 ‘Object’가 어떻게 실행하는 지를 보여주지 못 했어요. 스토리가 좀더 보강이 되어야 해요. 고양이가 도넛에 부딪히면 스피커를 통해 ‘야옹’ 소리가 나오게 하고, 화면에 ‘냠냠’이 뜨도록 하 는 것이 좋겠어요.
3. ‘Object’끼리 충돌 할 경우를 프로그래밍 하기 추가된 스토리를 위해, ‘Control’ 기능 중, ’if then’ 블록을 불러 오세요. ‘if then’ 블록 안의 다이아몬드 모양 안을 채우기 위해, ‘Sensing’ 기능 중 ‘touching ?’ 블록을 끌고 오세요. 주의할 점은, 다이아몬드 주변이 하얗게 되는 것을 확인한 후 채워주어야 해요.
‘touching ?’ 블록 내의 화살표를 클릭해서 ‘Donut’을 선택하면, 완성!
이제는 ‘if then’블록 안을 채워야 해요. ‘Sound’ 기능 중에서 ‘play sound meow’블록을 끌고 오세요. 이 블록 밑에 붙이기 위해서, ‘Looks’기능 중 ‘say hello! For 2 secs’블록을 가져 오세요.
‘hello!’부분을
좀더
재미있게
하기
위해서,
저는 ‘냠,냠,냠, 그래, 이 맛이야!’로 바꿨어요.
자, 지금부터는 도넛 ‘Object’에 대한 프로그래밍을 할 차례에요. ‘스프라이트 리스트’에서 ‘도넛’을 선택하세요. 우선 스토리를 생각해야 해요. 고양이가 먹으면, 사라지는 내용으로 하겠어요.
4. 도넛 ‘Object’에 관한 프로그래밍 ‘if then’ 블록을 끌고 온 후, 다이아몬드 안을 ‘touching ?’ 블록으로 채우세요. 여기서는 ‘touching ? 블록 속에 ‘Sprite1’을 선택하세요.
‘if then’ 블록 안을 채우기 위해서, ‘say hello! For 2 secs’ 블록을 가져온 후, “제발, 안돼! 안돼! 안돼!”와 “3”으로 바꿔 보세요. 이 블록 밑으로, 도넛이 사라지는 효과를 위해, ‘Looks’ 기능 중, ‘hide’블록을 끌고 오세요. 고양이가 먹는 동안, 도넛은 기다렸다가 사라져야죠? 그래서, ‘Control’ 기능 중에서 ‘wait 1 secs’ 블록을 끌고 와서, 숫자를 “5”로 바꾸세요.
‘if then’ 만으로는 실행이 되지 않아요. 움직이지 못하는 도넛 ‘Object’에, 고양이 ‘Object’가 와서 충돌하는 ‘Event’가 있어야만 실행이 이루어 질 수 있어요. 그래서, ‘when right arrow key pressed’ 블록을 맨 위에 두었어요. 고양이 ‘Object’ 프로그램을, 도넛에 맞춰 조금 수정해야 하겠죠? ‘if then’이 위로 붙을 때와, 떨어져 있을 때의 차이점도 꼭 알아야 해요.
게임을 다시 시작하려면, 도넛이 보여야 해요. 도넛 ‘Sprite’왼쪽 위의 느낌표를 클릭해서 ‘Show’를 클릭하면 되요.