
처음 스크래치를 켰을 때 블록은 알록달록한데 어디서 시작해야 할지 막막했던 기억이 납니다. 그럴 땐 캐릭터가 움직이고, 물건을 잡으면 점수가 오르는 작은 게임 하나를 만들어 보는 게 좋습니다. 사과를 받는 게임이라면 움직임, 조건, 변수처럼 자주 쓰는 기능을 한 번씩 써볼 수 있거든요.
바구니와 사과부터 준비하기
스크래치 화면에서 오른쪽 위는 게임이 보이는 무대, 아래는 캐릭터인 스프라이트를 고르는 곳입니다. 가운데에서 블록을 끌어와 연결하면 선택한 스프라이트가 그 순서대로 움직입니다. 먼저 기본 고양이 스프라이트를 지우고 바구니처럼 보이는 그림을 하나 골라 주세요. 마음에 드는 그림이 없다면 그리기 도구로 네모난 바구니를 만들어도 됩니다. 사과 스프라이트도 하나 추가합니다.
무대의 가로 위치는 x, 세로 위치는 y로 나타냅니다. 가운데가 0이고, 위로 갈수록 y가 커집니다. 이번 게임에서는 바구니를 화면 아래쪽인 y값 -145에 놓고, 사과는 위쪽인 y값 170에서 떨어뜨릴 겁니다. 숫자가 낯설다면 스프라이트를 무대에서 드래그해 보세요. 위치 숫자가 함께 바뀌어서 금방 감이 옵니다.
마우스를 따라 바구니 움직이기
바구니 스프라이트를 선택한 뒤 ‘초록 깃발을 클릭했을 때’ 블록 아래에 ‘무한 반복하기’를 붙입니다. 그 안에는 ‘x좌표를 마우스의 x좌표로 정하기’와 ‘y좌표를 -145로 정하기’를 넣습니다. 이제 초록 깃발을 누르면 바구니가 마우스를 따라 좌우로 움직입니다. 마우스가 위아래로 움직여도 바구니 높이는 그대로라 사과 받기에 집중할 수 있어요.
바구니가 너무 크면 스프라이트의 크기 값을 줄이면 됩니다. 처음에는 무대 가로폭의 4분의 1 정도로 넉넉하게 두는 편이 좋습니다. 너무 좁으면 사과를 받기도 전에 게임이 어려워지니까요. 실제로 움직여 본 뒤 바구니 크기를 바꾸면 숫자만 보고 정할 때보다 훨씬 편합니다.
사과가 떨어지고 점수가 오르게 만들기
먼저 ‘변수 만들기’에서 ‘점수’와 ‘놓친 횟수’를 만듭니다. 변수는 게임이 기억할 숫자를 담는 칸이라고 생각하면 됩니다. 바구니 또는 무대에 ‘초록 깃발을 클릭했을 때’ 블록을 하나 더 놓고, 시작할 때 두 변수를 모두 0으로 정합니다. 게임을 다시 시작할 때 이전 점수가 남지 않게 하는 단계입니다.
이제 사과 스프라이트를 선택합니다. ‘초록 깃발을 클릭했을 때’ 아래에 ‘무한 반복하기’를 연결하고, 반복 안에서 x좌표를 -220부터 220 사이의 무작위 수로, y좌표를 170으로 정합니다. 사과가 매번 다른 곳에서 출발하게 되는 거죠. 그다음 ‘반복하기 ~까지’ 안에 ‘y좌표를 -5만큼 바꾸기’와 ‘0.03초 기다리기’를 넣습니다. 반복을 끝내는 조건은 ‘바구니에 닿았는가’ 또는 ‘y좌표가 -170보다 작은가’입니다. 연산 블록의 ‘또는’을 이용하면 두 조건을 함께 넣을 수 있습니다.
반복이 끝난 뒤 사과가 바구니에 닿았는지 다시 확인합니다. 닿았다면 점수를 1만큼 올리고, 닿지 않았다면 놓친 횟수를 1만큼 올립니다. 그런 다음 무한 반복의 처음으로 돌아가 새 사과를 떨어뜨리면 됩니다. 사과가 한 번에 여러 개 나올까 걱정할 필요는 없습니다. 지금은 사과 스프라이트 하나가 위치를 바꾸며 계속 떨어지는 방식입니다.
- 사과가 너무 빨리 떨어지면 기다리는 시간을 0.05초로 늘립니다.
- 너무 느리면 기다리는 시간을 줄이거나 y좌표를 -7씩 바꿉니다.
- 받기 어려우면 바구니를 키우거나 사과가 떨어지는 x좌표 범위를 좁힙니다.
세 번 놓치면 게임이 끝나게 하기
게임에 끝나는 시점도 넣어 봅시다. 사과가 바구니에 닿지 않아 ‘놓친 횟수’를 올린 바로 다음에 ‘만약 놓친 횟수 ≥ 3이라면’을 넣고, 그 안에 ‘모두 멈추기’를 연결합니다. 사과를 세 번 놓치면 바구니와 사과의 움직임이 함께 멈춥니다. 다시 하려면 초록 깃발을 누르면 되고요.
잘 작동하지 않을 땐 한 번에 모든 블록을 고치기보다 움직임을 나눠서 확인하면 쉽습니다. 바구니가 마우스를 따라가는지, 사과가 위에서 아래로 내려오는지, 닿았을 때 점수가 딱 한 번 오르는지 차례로 봅니다. 특히 사과가 바구니를 지나쳤는데도 점수가 오른다면 닿는 조건과 반복이 끝나는 조건을 다시 확인해 보세요. 사과 크기와 바구니 높이에 따라 닿는 순간이 생각보다 일찍 잡힐 수 있습니다.
여기까지 만들면 아주 단순해 보여도 시작, 조작, 점수, 종료가 있는 게임이 됩니다. 저는 처음부터 화려한 배경을 꾸미는 것보다 이 네 가지가 자연스럽게 돌아가는 순간이 더 재미있었습니다. 한 판 직접 해보고 쉬운지 어려운지 느낀 다음 숫자 하나씩 바꿔 보면, 같은 게임도 꽤 다른 느낌이 납니다.
