김경현

KIMGYUNGHYUN . COM

스크래치 프로그램 3 (문어게임)

댓글 4

기술연구

2017. 5. 7.

안녕하세요.


기술이 공유되지 않으면 미래의 사회는 지금보다 더욱 폐쇄적이고 불평등한 사회가 될 것입니다. 카피레프트(copyleft)는 개인의 지적재산권을 중시하는 기존의 카피라이트(copyright)에 대항해 사회적 공유를 강조하는 정신이자 운동입니다. DIY연구소는 카피레프트(copyleft) 정신과 4차 산업기술의 확산을 위하여 연구한 내용을 무료로 배포하고 있습니다. 스크래치 프로그램을 공부하다보니 코딩이 용이하다는 장점과 함께 프로그램 개발을 위한 언어로 활용하기에는 기술적인 여러 문제점들이 보였습니다. 최신버전 '스크래치 (2.0 버전)' 은 스크래치 온라인 플랫폼에서만 동작되고 독립실행파일 (exe) 변환을 원천차단하였고, 독립실행파일 (exe) 변환을 위해서는 이전버전인 '스크래치 (1.4 버전)' 으로 작업후 'BYOB' 프로그램에서 독립실행파일 (exe) 로 변환해야하는 문제점이 있습니다. MIT미디어연구소의 Lifelong Kindergarten Group 에서 개발된 '스크래치 (2.0 버전)' 스크래치 (1.4 버전)' 프로그램과는 달리 활용을 위한 프로그램들인 'BYOB' 아두이노를 스크래치프로그램으로 제어하기 위하여 개발한 프로그램인 '스크래치X' 'S4A' 'mBlock' 등은 다른 민간회사나 개인들이 제작후 보급하였기에 설치와 운용시 많은 문제점들이 보이며, 업데이트 버전별 다른 설치, 운용시 교육자료도 미비한 상태입니다. 이러한 이유로 시중의 스크래치 응용프로그램 관련한 기술서적이나 교육동영상이 최신버전 설치와 프로그램 코딩시 제대로 사용할수 없는 문제점들이 많이 보입니다. '스크래치X' 'S4A' 프로그램은 아두이노에 코딩 업로드하여 별도 운용하는것이 불가능하고 'mBlock' 프로그램은 아두이노에 코딩 업로드하여 별도 운용하고 로봇구현을 목표로 중국에서 개발하였지만 코딩변환, 업로드 불량등 아직 문제점들이 많은 상태로 보입니다. 오늘은 '스크래치 (2.0 버전) 프로그램 3 - 문어게임' 교육 정보를 요약후 공유합니다.





1. 스크래치 알아보기
2. '게임' 만들기
3. '무대' 설정
4. '스프라이트' 설정
5. '소리' 설정
6. '스프라이트' 추가
7. '스크립트' 입력
8. '스크립트' 가정문 합치는 방법

 




DIY연구소 김경현 배상 (010 8604 6802)



[교육내용]


☞ 1. 3D프린터 설계제작

☞ 2. 3D프린터 프로그램

☞ 3. 3D프린터 의수제작

☞ 4. Core XY 3D프린터 구동방식과 조립

☞ 5. Prusa i3 3D프린터 조립

☞ 6. Prusa i3 3D프린터 배선

☞ 7. 3D프린터 전기조립 기초

☞ 8. Fun i3 3D프린터 조립

☞ 9. 3D프린터 오픈소스 RepRap

☞ 10. 20만원대 교육용 3D프린터 개발

☞ 11. 3D프린터 전기자전거 개발

☞ 12. 원노즐 듀얼 3D프린터 개발




[스크래치 프로그램 (코딩2)]


1. 스크래치 알아보기


C언어, C#, 자바 등의 복잡한 언어보다 친근하고 쉽게 다가갈수 있는 프로그램 언어입니다. 소프트웨어는 컴퓨터 프로그램 자체적으로 또는 IC에 프로그램 업로드하여 각종전자기기(로봇, TV, 비행기, 스마트폰, 자동차, 가전 등)의 머리역할을 합니다. 스크래치는 이러한 소프트웨어를 만들어주는 도구(프로그램 언어)로 미국국립과학재단, 마이크로소프트, 인텔, 노키아, MIT미디어연구소로부터 재정지원을 받아 MIT미디어연구소의 Lifelong Kindergarten Group에 의해 개발후 2007년 출시되었습니다. 



2. '게임' 만들기


'문어'가 마우스 포인터에 의해 움직이며 '상어1' 상어2'를 도망다니는 게임으로 '상어1'은 좌우로 이동하며, '상어2'는 '문어'를 쫓아다니며 이동합니다. '문어'가 '상어1' 또는 '상어2'와 부딪치면 '소리'와 함께 게임이 멈추고 종료되는 형태를 구성합니다.



3. '무대' 설정


붉은박스


1. '저장소에서 배경선택' 버튼 클릭합니다.

2. 'underwater3' 배경선택 클릭합니다.

3. '입력창'에 'underwater' 무대 변경됩니다.








4. '스프라이트' 설정


붉은박스


1. '고양이' 스프라이트 삭제합니다.

2. '저장' 안전을 위하여 작업중 선택합니다.

3. 'underwater.sb2' 또는 한글 이름으로 파일을 '바탕화면'에 저장합니다.








5. '소리' 설정


붉은박스


1. 'underwater' 저장 이름 표시됩니다.

2. '소리' 버튼 클릭합니다.

3. '동작' 버튼 클릭후 '소리' 확인합니다. 

4. '팝' x 버튼 클릭후 '소리' 삭제합니다.

5. '새로운 소리' 버튼 클릭 합니다.

6. 'bubbles' '소리' 선택합니다.

7. 'bubbles' '소리' 적용됩니다. 적용된 '소리' 의 끝까지 재생되는 시간 측정합니다. '3초' 기억합니다.

8. '동작' 버튼 클릭후 '소리' 확인합니다.

9. '스크립트' 의 '제어' '소리' 탭 선택합니다.

10. 'bubbles 끝까지 재생하기' 를 '무한반복하기' 입력시 '무대' 의 'underwater' 소리가 무한반복 됩니다.

11. 'bubbles 재생하기' 후 '3초 기다리기' 를 '무한반복하기' 입력시 '무대' 의 'underwater' 소리가 무한반복 됩니다.







6. '스프라이트' 추가


붉은박스


1. '새로운 스프라이트' 의 '저장소에서 스프라이트 선택' 후 저장소의 'shark1' 'shark2' 'octopus' 3종류 선택합니다.

2. '스프라이트' 창에 'shark1' 'shark2' 'octopus' 3종류 '추가됩니다.

3. '출력화면' 창에 'shark1' 'shark2' 'octopus' 3종류 '추가됩니다.

4. '확대, 축소 버튼' 을 선택후 '출력화면' 창의 '스프라이트' 클릭하면 크기를 조정할수 있습니다.

5. '모양'탭 클릭하면 선택한 'shark1'의 다음동작모양을 볼수 있으며 

6. 'shark1' 의 3번째 형태는 필요없어 '삭제' 합니다.



7. '스크립트' 입력


붉은박스


1. '스프라이트' 'shark1' 선택합니다.

2. '스크립트' 탭 선택후 '입력창'에서 스크립트 입력 합니다.

3. 'shark1' 선택후 'info' 에서 직선운동으로 변경후 '입력창'에 스크립트 합니다. '클릭했을때' 'shark1' 이 'x : -200, y : 0 로 이동하기' 후 '(10) 만큼 움직이기' '(0.3) 초 기다리기' '다음 모양으로 바꾸기' '벽에 닿으면 튕기기' 를 '무한 반복하기' 합니다.

4. '스프라이트' 'shark2' 선택합니다.

5. 'shark2' 선택후 'info' 에서 회전운동으로 변경후 '입력창'에 스크립트 합니다. '클릭했을때' 'shark1' 이 'x : -100, y : -100 로 이동하기' 후 '(octopus) 쪽으로 보기'로 문어를 쫓아가며 '(5) 만큼 움직이기' '(0.3) 초 기다리기' '다음 모양으로 바꾸기' 를 '무한 반복하기' 합니다.

6. '스프라이트' 'octopus' 선택합니다.

7. '스크립트' 탭 선택후 '입력창'에서 스크립트 입력 합니다.

8. 'octopus' 선택후 'info' 에서 회전운동으로 변경후 '입력창'에 스크립트 합니다. '클릭했을때' 'octopus' 이 'x : 150, y : 50로 이동하기' 후 '만약 (이)라면' 과 '마우스 포인터에 닿았는가?' 와 '가(이) 아니다' 와 합치는 첫번째 가정문을 완성합니다. 이후 '마우스포인터' 쪽보기' 후 '10만큼 움직이기' 후 '다음 모양으로 바꾸기' 후 0.05초 기다리기'로 마우스포인터를 쫓아가는 문어의 운동형태를 구성합니다. 또한 두번째로 '만약 (이)라면' 과 'shark1'에 닿았는가?' 과 '또는' 과 'shark2'에 닿았는가?와 합치는 가정문을 완성합니다. '문어'가 '상어1' 또는 '상어2'와 부딪치면 'G ukulele 소리를 끝까지 재생하기' 후 '모두 멈추기'로 게임이 멈추고 종료되는 형태를 구성합니다.











8. '스크립트' 가정문 합치는 방법


붉은박스


1. 두번째 가정문 '만약 (이)라면' 과 'shark1'에 닿았는가?' 과 '또는' 과 'shark2'에 닿았는가?와 합치는 가정문을 합치는 방법을 설명합니다. '문어'가 '상어1' 또는 '상어2'와 부딪치면이라는 의미입니다.

2. '만약 (이)라면' 과 '또는' 과  'shark1'에 닿았는가?' 와 'shark2'에 닿았는가?' '코딩 명령어' 블록박스들을 합칩니다.

3. '마름모 모양의 빈칸' 에 넣으려는 '코딩 명령어' 블록박스를 겹쳤을때 밝은 흰색이 보이며 이때 그 자리에 내려 놓습니다.

4. 'G ukulele 소리를 끝까지 재생하기' 의 '소리' 'G ukulele'는 

5. '소리'탭 클릭후 '소리 저장소'에서 선택 합니다.





underwater.sb2





- 첨부파일

underwater.sb2  
   
사업자 정보 표시
| | | 사업자 등록번호 : -- | TEL : -- | 사이버몰의 이용약관 바로가기