스크래치로 첫 클릭 게임 만드는 방법

처음 스크래치를 켜면 고양이가 서 있는 화면보다 왼쪽의 알록달록한 블록이 더 눈에 들어옵니다. 블록 종류가 많아서 어디부터 시작할지 막막할 수 있죠. 이럴 때는 클릭할 때마다 점수가 오르는 작은 게임 하나를 만들어 보면 화면 구성이 금방 익숙해집니다. 캐릭터를 클릭하고, 점수를 올리고, 다음 위치로 옮기는 게임입니다.
먼저 화면에서 세 곳만 찾으세요
스크래치 편집기는 크게 블록 목록, 코드를 조립하는 공간, 결과가 보이는 무대로 나뉩니다. 왼쪽에서 블록을 골라 가운데로 끌어오고, 오른쪽 무대에서 실행 결과를 확인하면 됩니다. 무대 아래에는 스프라이트 목록이 있습니다. 스프라이트는 고양이처럼 무대에서 움직이거나 클릭할 수 있는 캐릭터와 물체를 뜻해요.
처음에는 기본 고양이를 그대로 써도 충분합니다. 좋아하는 동물이나 음식 그림으로 바꾸고 싶다면 스프라이트 추가 메뉴에서 하나를 고르면 됩니다. 중요한 건 어떤 그림을 골랐느냐보다 지금 어느 스프라이트를 선택했느냐입니다. 같은 블록을 붙여도 선택한 스프라이트에 따라 움직이는 대상이 달라지거든요.
프로젝트 이름도 먼저 정해 두면 좋습니다. ‘고양이 클릭 게임’처럼 짧게 붙여 두면 나중에 다시 열었을 때 무슨 작업인지 바로 알 수 있어요. 스크래치 공식 시작 안내에서도 블록을 조립하고 무대에서 바로 확인하는 방식으로 첫 프로젝트를 익히도록 안내합니다.
클릭하면 점수가 오르게 만들기
우선 변수 메뉴에서 ‘점수’라는 변수를 만듭니다. 변수는 게임이 기억해야 할 숫자를 담는 상자라고 생각하면 편합니다. 점수를 만들면 무대에도 현재 숫자가 표시됩니다. 이제 무대 아래에서 고양이 스프라이트를 선택하고, 이벤트 블록 ‘이 스프라이트를 클릭했을 때’를 코드 공간으로 가져옵니다.
그 아래에 변수 블록 ‘점수를 1만큼 바꾸기’를 연결하세요. 블록 두 개가 딱 붙으면 첫 기능은 끝입니다. 무대의 고양이를 한 번 클릭하면 1점, 세 번 클릭하면 3점이 됩니다. 직접 눌러 보면 블록의 실행 순서가 훨씬 쉽게 이해됩니다.
여기서 한 가지 불편한 점이 보일 거예요. 게임을 다시 시작해도 이전 점수가 남아 있을 수 있습니다. 고양이의 코드 공간에 이벤트 블록 ‘초록색 깃발을 클릭했을 때’를 따로 놓고, 그 아래에 ‘점수를 0으로 정하기’를 연결합니다. 이제 초록색 깃발을 누를 때마다 0점에서 새로 시작합니다. 클릭용 블록 묶음과 시작용 블록 묶음은 서로 떨어져 있어도 괜찮습니다.
누를 때마다 위치가 바뀌게 만들기
계속 같은 자리에 있는 고양이를 누르기만 하면 금세 단조로워집니다. 앞서 만든 클릭용 블록 묶음에서 ‘점수를 1만큼 바꾸기’ 아래에 동작 블록 ‘무작위 위치로 이동하기’를 붙여 보세요. 이제 고양이를 클릭하면 점수가 오른 뒤 무대의 다른 곳으로 이동합니다. 마우스를 다시 움직여야 하니 작은 순발력 게임처럼 느껴집니다.
시작할 때 고양이가 어디에 있을지도 정할 수 있습니다. 초록색 깃발 아래의 ‘점수를 0으로 정하기’ 다음에 ‘x: 0 y: 0으로 이동하기’를 붙이면 매번 무대 가운데에서 출발합니다. x는 좌우 위치, y는 위아래 위치를 나타냅니다. 가운데가 너무 쉬우면 x나 y 숫자를 조금 바꿔 시작점을 조절해 보세요.
블록은 위에서 아래로 실행됩니다. 그래서 클릭용 블록에서 점수 올리기와 위치 이동의 순서를 바꾸면 화면에서 보이는 반응도 조금 달라집니다. 이런 작은 변경을 직접 해 보는 게 스크래치의 재미예요. 긴 코드를 한꺼번에 만들기보다 블록 하나를 붙일 때마다 고양이를 눌러 확인하면 어디서 문제가 생겼는지도 찾기 쉽습니다.
20초 제한을 넣어 게임답게 만들기
조금 더 놀 만한 게임으로 만들고 싶다면 ‘남은 시간’ 변수도 추가해 보세요. 초록색 깃발로 시작하는 블록 묶음에서 점수를 0으로 만든 뒤 남은 시간을 20으로 정합니다. 이어서 제어 블록 ‘20번 반복하기’ 안에 ‘1초 기다리기’와 ‘남은 시간을 -1만큼 바꾸기’를 차례로 넣으면 됩니다. 화면의 숫자가 20, 19, 18처럼 줄어드는지 확인하세요.
시간이 0이 된 뒤에도 클릭으로 점수가 오르면 게임 규칙이 어색해집니다. 클릭용 블록에는 제어 블록 ‘만약 ~라면’을 넣고, 조건을 ‘남은 시간 > 0’으로 설정합니다. 그 안에 점수 올리기와 무작위 위치로 이동하기를 함께 넣으세요. 그러면 20초가 지난 뒤 고양이를 눌러도 점수가 더해지지 않습니다.
처음부터 시간 제한까지 한 번에 만들 필요는 없습니다. 점수만 오르는지 확인하고, 위치 이동을 붙이고, 마지막에 시간을 더하는 순서가 편합니다. 실행이 이상하다면 먼저 고양이 스프라이트가 선택돼 있는지 살피세요. 또 ‘점수를 1만큼 바꾸기’와 ‘점수를 0으로 정하기’를 헷갈리면 클릭할 때마다 점수가 0으로 돌아갈 수 있습니다.
게임이 완성되면 20초 동안 몇 점을 얻는지 직접 기록해 보세요. 고양이 크기를 줄이거나 제한 시간을 15초로 바꾸는 것만으로도 난이도가 꽤 달라집니다. 이렇게 숫자 하나를 바꿔 보고 결과를 비교하다 보면, 스크래치가 블록을 외우는 도구라기보다 내 아이디어를 시험하는 놀이터처럼 느껴집니다.
