​​ 스크래치 기초 10 : 테트리스 만들기 기초 배우기

스크래치 기초 10 : 테트리스 만들기 기초 배우기

테트리스 전 단계쯤인 초보 테트리스입니다. 아직은 진짜 테트리스처럼 음악이 나오고 화려한 색상의 블록들이 쏟아지는 테트리스는 못 만들지만 언젠가는 만들 수 있겠지요.

하나의 형태로만 블록 맞추기를 하는 아주 단순한 블록쌓기 입니다.

 

1. 블록 만들기

새로 만들기를 한 다음 스프라이트를 그립니다.

쉬프트 키를 누른 상태에서 사각형 그리기 툴을 사용해 작은 크기의 정사각형 하나를 만듭니다.

 

선택 툴로 바꾼 다음 상단 메뉴 중 복사, 붙이기를 사용하여 두 개를 더 복사하여 ㄱ자 모양으로 만듭니다. 미세하게 맞추고자 할 경우에는 선택된 상태에서 키보드의 화살표 키를 사용합니다.

완성되면 모두 포함되게 드래그하여 그룹화시켜 줍니다.

그룹화된 ㄱ자 모양의 블록의 중심을 에디터 보드의 중심과 맞춥니다.

 

2. 게임 소개 인트로 만들기

게임 시작 전 화면 출력으로 회전 키, 이동키 등의 조작법을 설명합니다.

스프라이트 고르기를 누르고 조작 설명을 할 적당한 캐릭터를 고릅니다. 저는 'wizard'를 선택했습니다.

 

- 제어 팔레트에서 깃발 시작을 놓은 뒤 그 아래로 형태 팔레트에서 '보이기' 블록을 가져옵니다.

- 소리 팔레트에서 'magic spell 재생하기' 블록을 가져옵니다.

- 형태 팔레트에서 '안녕을 2초 동안 말하기' 블록을 가져옵니다. 이 블록에서 안녕이라는 말을 "조작키를 설명하겠습니다."로 바꿉니다.

- 이 마법사 스프라이트는 모양 탭에서 보면 3개의 동작을 가진 스프라이트입니다. 캐릭터에 역동성을 주기 위해 형태 팔레트에서 '다음 모양으로 바꾸기' 블록을 가져옵니다.

- 형태 팔레트에서 '안녕을 2초 동안 말하기' 블록을 가져와 안녕 대신 "상하좌우는 방향키, 회전은 z키, 종료는 스페이스키로 합니다"라는 문구를 넣습니다. 글이 많은 편이므로 시간은 2초에서 5초로 바꾸어 줍니다.

- 사라지면서 한번 더 소리를 내기 위해 소리 팔레트에서 'magic spell 재생하기' 블록을 가져옵니다.

- 제어 팔레트에서 '10번 반복하기' 블록을 가져옵니다.

- 형태 팔레트에서 '색깔 바꾸기' 블록을 가져와 '투명도 효과를 20만큼 바꾸기' 블록을 추가합니다.

- 제어 팔레트에서 '0.5초 기다리기' 블록을 넣습니다.

- 반복 블록 바깥에서 형태 팔레트에서 가져온 '숨기기' 블록을 넣어 줍니다.

 

3. 상하좌우로 움직이기

제일 처음 만들어 두었던 블록을 움직여 볼 차례입니다. 

- 이벤트 팔레트에서 깃발 '클릭했을 때'를 가져옵니다.

- 무대 위의 모든 흔적을 지우기 위해 펜 팔레트에서 '모두 지우기' 블록을 가져옵니다.

- 형태 팔레트에서 '숨기기' 블록을 가져와 시작 전 보이지 않게 합니다.

- 동작 팔레트에서 'x, y로 이동하기' 블록을 가져와 x축에는 0, y축에는 180을 넣습니다. 블록이 처음 시작하는 위치는 상단 꼭대기 이므로 y축만 제일 위가 되게 됩니다.

- 이제 보이게 만들어야 합니다, 형태 팔레트에서 '보이기' 블록을 가져옵니다.

 

- 이제 화살표 키에 다음과 같은 위치 이동 설정을 하여야 합니다.

: y축으로 10만큼 이동
: y축으로 -10만큼 이동
: x축으로 10만큼 이동
: x축으로 -10만큼 이동

- 이벤트 팔레트에서 '스페이스 키를 눌렀을 떼' 블록을 가져와 위쪽 화살표로 바꾸어 줍니다.

- 동작 팔레트에서 'y좌표를 10만큼 바꾸기'를 가져옵니다.

- 위와 같은 방식으로 화살표키 4개에 해당하는 4개의 블록 군을 만들어 둡니다.

 

4. z키에 의해 회전시키기

방향키는 설정을 마쳤고 z키를 누를 때마다 블록이 90도씩 회전하게 만들어야 합니다.

 

- 이벤트 팔레트에서 'z키를 눌렀을 때' 블록을 가져옵니다.

- 동작 팔레트에서 '시계방향으로 돌기' 블록을 가져와 90도를 지정해 줍니다.

 

5. 스페이스키에 도장 찍기 설정 넣기

스페이스키를 누르면 블록이 멈춥니다. 도장 찍기는 무대에 도장을 찍는 것처럼 스프라이트의 흔적을 남기는 것을 말합니다.

- 제어 팔레트에서 'z키를 눌렀을 때' 블록을 가져옵니다.

- 펜 팔레트에서 '도장 찍기' 블록을 가져옵니다.

- 동작 팔레트에서 'x, y로 이동하기'를 가져와 x:0, y:180으로 수정합니다. 이는 또 다른 블록이 내려올 준비를 하게 만드는 블록입니다.

- 스페이스키를 누를 때 소리가 나게 하고 싶습니다. 소리 탭을 누른 뒤 소리 고르기를 클릭하고 'chirp'를 가져옵니다.

- 소리 팔레트에서 'chirp 재생하기' 블록을 가져옵니다.

아래는 블록 스프라이트의 전체 블록 이미지입니다.

 

대충 만들어 봤는데 많이 실망스럽습니다.

일단 도형끼리 서로 겹쳐지기도 하고 도장 툴을 이용해 원하는 위치에 블록을 쌓는 시스템도 기존의 테트리스에는 많이 못 미치는 기능입니다. 벽에 서지 않는 문제도 마찬가지입니다. 자동으로 내려가지 않는 문제도...

하지만, 이 모든 걸 다 코딩할 수 있는 날이 언젠간 오리라 믿습니다.

 

 

댓글

Designed by JB FACTORY