김경현

KIMGYUNGHYUN . COM

스크래치 프로그램 4 (벽돌깨기)

댓글 0

기술연구

2017. 5. 9.

안녕하세요.


기술이 공유되지 않으면 미래의 사회는 지금보다 더욱 폐쇄적이고 불평등한 사회가 될 것입니다. 카피레프트(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 버전) 프로그램 4 -벽돌깨기' 교육 정보를 요약후 공유합니다. 




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프린터 개발




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


1. 스크래치 알아보기


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



2. '벽돌깨기 게임' 만들기


'막대' 가 마우스 포인터에 의해 좌우로 움직이며 '볼' 이 '막대' 또는 '사각 화면 모서리' 에 닿으면 '공'이 '막대' 에 부딪치는 입사각 반사각 계산후 튕기며 '벽돌1' 과 '벽돌2' 를 깨는 게임 입니다. '바닥'에 부딪치면 게임이 멈추고 크기가 확대되는 '곰' 과 'GAME OVER' 글자가 나타나며 게임이 종료되는 프로그램을 구성합니다.




3. '스프라이트' 제작


붉은박스


1. '새로운 스프라이트' 를 클릭합니다.

2. '볼' 을 선택합니다.

3. '막대' '벽돌1' '벽돌2' '바닥' 는 '새 스프라이트 그리기' 클릭후 '입력창' 에서 그립니다.

4. '스프라이트 창'에 '볼' '막대' '벽돌1' '벽돌2' '바닥' 가 생성됩니다.

5. '스프라이트'  '막대' '벽돌1' '벽돌2' '바닥' 4종류 스프라이트는 '출력화면창' 에 표시됩니다.





4. '볼' 설정


붉은박스


1. '볼' 스프라이트를 설정합니다.

2. '볼' '회전방향' 을 선택합니다.

3. '볼' 이동하는 '각도' 가 표시됩니다.

4. '볼' 스크립트 작성합니다. 릭했을때 '볼' 은 x : 0, y : 0으로 이동하며 '볼'은 바운드시 입사각도 기준으로 -45도부터 +45도 사이의 난수 방향을 봅니다. '볼' 은 10만큼의 속도로 움직이며 벽에 닿으면 튕기기를 무한반복합니다. 





5. '막대' 설정


붉은박스


1. '막대' 스프라이트를 설정합니다.

2. '막대' '좌우직선' 이동을 선택합니다.

3. '막대' 스크립트 작성합니다. 릭했을때 '막대 는 'x 좌표를 마우스의 x 좌표로 정하여' 무한반복합니다. 

4. '볼' 스크립트 선택합니다.

5. '볼' 기존 스크립트를 수정합니다. '만약 막대에 닿았다면 (180도 - 입사각) 의 반사각도 방향보기' 움직임 방향 삽입합니다.






6. '벽돌' 설정


붉은박스


1. '막대' 스프라이트를 설정합니다.

2. '막대1' (막대2) 선택합니다.

3. '막대1' (막대2) 스크립트 작성합니다. '릭했을때' '막대1' (막대2) 가 보이며 만약 '막대1' (막대2) 가 '볼' 에 닿았다면 '팝소리' 가 재생되며 '막대1' (막대2) 는 숨기는 동작이 '무한반복' 합니다.

4. '소리' 선택합니다.

5. '재생' 버튼 클릭시 '팝소리'를 확인할수 있습니다. 

6. '볼' 기존 스크립트를 수정합니다. 

7. '볼'이 만약 '막대' 에 닿았다면 '팝소리' 가 재생을 삽입합니다. 이는 '무한반복' 합니다.

8. '볼'이 만약 '벽' 에 닿았다면 '볼' 이 튕기며 '팝소리' 가 재생을 삽입합니다. 이는 '무한반복' 합니다.







7. '바닥' 설정


붉은박스


1. '볼' 기존 스크립트를 수정합니다. 

2. '볼' 이 만약 '바닥' 에 닿았다면 '팝소리' 가 재생되며 '모두 멈추기' 를 삽입합니다. 이는 '무한반복' 합니다.

3. '바닥' 스크립트 설정합니다.

4. '클릭했을때' '바닥' 이보이며 '만약 볼이 닿으면' '팝소리' 재생하며 '무한반복' 하는 스크립트 작성합니다.






8. '종료' 설정


붉은박스


1. 'Wanda' 스프라이트 저장소에서 선택합니다. 입력창에서 'Game Over' 글자 입력합니다.

2. '출력창' 에서 'Wanda' 'Game Over' 가 보여집니다.

3. 'Wanda' 스프라이트의 스크립트 작성합니다. '클릭했을때' 'Wanda' 스프라이트를 숨기고' '크기를 100%로 정하기' 합니다. '게임종료를 받았을때' 'Wanda' 스프라이트 '보이기' 후 '크기가 10만큼의 속도로 커지며' '10번 반복' 합니다.

4. '볼' 스크립트 수정합니다.

5. '게임종료 방송하기' 되면 '이 스크립트는 멈추기' 삽입합니다.

6. '막대' 스크립트 수정합니다.

7. '게임종료를 받았을때' 되면 '막대' '스프라이트에 있는 다른 스크립트 멈추기' 추가합니다.







벽돌깨기.sb2

벽돌깨기.mp4



※ 스크래치 파일을 실행파일 (exe) 로 변환하는 방법




1. '스크래치 (1.4 버전) 프로그램' 을 홈페이지 ( https://scratch.mit.edu/scratch_1.4 ) 에서 다운받아 설치합니다. '1.4 버전'  그림을 비트맵 밖에는 표현 못하지만 오픈소스라서 'BYOB' 'Explore' 등으로 기능을 추가하는 '모딩' 을 할수 있어 '2.0 버전' 보다 선호합니다. 하위 버전이기에 호환이 되지 않아 '벽돌깨기' 게임을 '1.4 버전' 에서 새로이 작성합니다.

2. 'BYOB' 홈페이지 ( http://download.cnet.com/BYOB-Build-Your-Own-Blocks/3000-20415_4-75629466.html ) 선택. 

3. 'Download Now' 버튼 클릭후 'BYOB' '모딩' 프로그램을 설치합니다. 

4. '스크래치 (1.4 버전) 프로그램' 에서 'bloc.sb' 파일 이름으로 저장합니다.

5. '내 프로젝트' 폴더에 저장합니다.

6. 새로운 파일이름은 'bloc' 을 입력합니다.

7. 'BYOB' 프로그램 실행합니다.

8. 'BYOB' 프로그램 메뉴에서 'File' 'Open' 선택합니다.

9. 'BYOB' 프로그램의 'Scaratch My Projects' 선택합니다.

10. '스크래치 (1.4 버전) 프로그램' 으로 작업한 'bloc.sb' 파일을 열면

11. 'BYOB' 프로그램용 'bloc.ypr' 파일로 자동저장 됩니다.

12. 'BYOB' 프로그램 메뉴에서 'Share' 'Compile this project ..' 선택합니다.

13. '스크래치 (1.4 버전) 프로그램' 에서만 구동되던 'bloc.sb' 실행파일은

14. 'BYOB' 프로그램 '모딩' 으로 변환되어 '내PC/문서' 폴더에 저장됩니다.

15. 'bloc' 실행파일이 생성됩니다.

16. '윈도우' 환경에서 독립적으로 구동되는 'bloc.exe' 실행파일 입니다.

17. ''bloc.exe' 실행 화면입니다.











bloc.sb

bloc.ypr

bloc.exe





- 첨부파일

벽돌깨기.sb2  
벽돌깨기.mp4  
bloc.exe  
bloc.sb  
bloc.ypr  
   
사업자 정보 표시
| | | 사업자 등록번호 : -- | TEL : -- | 사이버몰의 이용약관 바로가기