스크래치(Scratch) 사용법 총정리 | 0에서 부터 시작하는 미니게임 만들기

디지털 시대를 살아가는 아이들에게 소프트웨어 교육과 코딩은 필수적인 리터러시가 되었습니다. 하지만 처음 코딩을 접할 때 복잡한 영문 텍스트 코드와 까다로운 문법 구조를 접하게 되면 대다수의 입문자가 쉽게 흥미를 잃곤 합니다.

이러한 문제를 완벽하게 해결해 주는 교육용 도구가 바로 스크래치(Scratch)입니다. 이번 포스팅에서는 스크래치의 기본 개념부터 핵심 기능, 그리고 직접 미니게임을 만들어보는 실습까지 체계적으로 알아보겠습니다.

1. 스크래치(Scratch)란 무엇인가?

세계 최고의 교육용 블록코딩 플랫폼

스크래치(Scratch)는 미국 MIT 미디어랩(MIT Media Lab)의 평생 유치원 그룹(Lifelong Kindergarten Group)에서 개발한 무료 교육용 블록코딩 프로그래밍 언어 및 온라인 커뮤니티입니다. 아이들이 소프트웨어의 작동 원리를 자연스럽게 이해할 수 있도록 돕기 위해 만들어진 플랫폼입니다.

초등학생과 코딩 입문자에게 적합한 이유

  • 직관적인 비주얼 블록 방식: 레고 블록을 조립하듯 명령어가 적힌 블록을 드래그 앤 드롭(Drag & Drop) 방식으로 연결하여 프로그램을 완성합니다.
  • 오타 및 문법 오류 예방: 텍스트 코딩에서 자주 발생하는 세미콜론(;) 누락이나 괄호 오타 등으로 인한 에러 스트레스가 없습니다.
  • 즉각적인 피드백 제공: 완성된 블록을 클릭하는 즉시 화면 속 캐릭터의 움직임을 시각적으로 확인할 수 있어 학습 동기 부여에 매우 효과적입니다.
스크래치 바로가기

2. 스크래치 시작하기 – 가입 및 기본 화면 구조

웹사이트 접속 및 회원가입

스크래치는 별도의 설치 프로그램 없이 웹 브라우저만 있으면 언제 어디서나 접속하여 무료로 이용할 수 있습니다.

  1. 공식 웹사이트 접속: 스크래치 공식 홈페이지(scratch.mit.edu)에 접속합니다.
  2. 계정 생성: 우측 상단의 [스크래치 가입]을 클릭하여 사용자 이름과 비밀번호를 설정합니다.
  3. 가입 권장 이유: 계정을 생성하고 이메일 인증을 마치면 작업한 프로젝트가 클라우드에 자동으로 저장되며, 전 세계 사용자들과 작품을 공유하고 재가공(Remix)할 수 있는 권한이 생깁니다.

작업 화면 영역

스크래치 작업 화면(생성/Create 페이지)은 효율적인 코딩 환경을 위해 크게 세 가지 영역으로 나뉩니다.

  • 1) 무대(Stage) 및 스프라이트(Sprite)
    • 무대: 작성된 코드가 실행되는 최종 출력 화면입니다. (가로 480, 세로 360의 좌표계 구조)
    • 스프라이트: 무대 위에서 움직이고 반응하는 캐릭터, 사물, 배경 등의 개체를 의미합니다.
  • 2) 블록 팔레트(Block Palette)
    • 다양한 기능을 가진 코딩 블록들이 색상별 카테고리로 정돈되어 있는 도구 상자입니다.
    • 동작(파란색), 형태(보라색), 소리(분홍색), 이벤트(노란색), 제어(주황색), 감지(하늘색), 연산(초록색), 변수(주황색) 등으로 나뉩니다.
  • 3) 스크립트 영역(Code Area)
    • 중앙의 넓은 빈 공간으로, 블록 팔레트에서 필요한 블록을 끌어와 서로 연결하며 실제 프로그램을 작성하는 코딩 공간입니다.
스크래치(Scratch) 작업창 화면 도움 이미지

3. 초보자를 위한 핵심 블록 카테고리 활용법

스크래치에서 자주 사용하는 핵심 블록 카테고리의 역할과 활용 방식을 익히면 다양한 로직을 쉽게 구현할 수 있습니다.

[이벤트] 프로그램의 시작점 지정하기

이벤트 블록은 프로그램이 언제 실행될지를 결정하는 ‘트리거’ 역할을 담당합니다.

  • [초록 깃발]을 클릭했을 때: 무대 상단의 실행 버튼을 누르면 코드가 작동하도록 하는 가장 기본적인 시작 블록입니다.
  • [스페이스] 키를 눌렀을 때: 키보드 입력을 통해 캐릭터를 제어할 때 사용합니다.

[제어] 반복문과 조건문 작성하기

프로그램의 흐름을 제어하는 핵심적인 논리 블록입니다.

  • 무한 반복하기: 내부 블록을 프로그램이 종료될 때까지 끊임없이 반복 실행합니다.
  • 만약 ~라면 (if): 특정 조건이 참(True)일 때만 내부 코드를 실행하는 조건문입니다.

[동작 & 감지] 캐릭터 움직임과 상호작용

  • x 좌표를 ~만큼 바꾸기, y 좌표를 ~만큼 바꾸기: 캐릭터의 위치를 정밀하게 이동시킬 때 활용합니다.
  • 벽에 닿으면 튕기기: 캐릭터가 화면 밖으로 벗어나지 않도록 제어합니다.
  • ~에 닿았는가? (감지): 다른 스프라이트나 마우스 포인터와의 충돌 여부를 감지합니다.

4. [실습] 10분 만에 만드는 첫 번째 미니게임: ‘고양이 장애물 피하기’

기본 개념을 이해했다면, 직접 ‘고양이 장애물 피하기’ 미니게임을 만들어보며 실전 감각을 익혀보겠습니다.

게임 준비 단계

  1. 스프라이트 준비: 기본으로 배치된 ‘고양이’ 스프라이트와 장애물 역할을 할 ‘Ball(공)’ 스프라이트를 추가합니다.
  2. 배경 설정: 무대 우측 하단의 배경 선택 버튼을 눌러 원하는 배경(예: Blue Sky)을 추가합니다.

1단계: 고양이 캐릭터 점프 로직 구현

스페이스 키를 눌렀을 때 고양이가 위로 점프했다가 다시 내려오도록 Y좌표를 제어합니다.

  • 고양이 코딩:
    1. [스페이스] 키를 눌렀을 때 이벤트 블록을 가져옵니다.
    2. 10번 반복하기 블록 안에 y좌표를 10만큼 바꾸기를 넣어 위로 점프시킵니다.
    3. 그 아래에 다시 10번 반복하기 블록을 연결하고 y좌표를 -10만큼 바꾸기를 넣어 착지시킵니다.

2단계: 장애물(공) 무한 이동 로직 구현

공이 무대 우측 끝에서 나타나 좌측 끝으로 지속적으로 이동하게 만듭니다.

  • 공 코딩:
    1. [초록 깃발]을 클릭했을 때 블록 아래에 무한 반복하기를 연결합니다.
    2. x: 200, y: -120으로 이동하기를 설정하여 시작 위치를 우측 하단으로 지정합니다.
    3. 30번 반복하기 안에 x좌표를 -15만큼 바꾸기를 넣어 왼쪽으로 날아오는 효과를 줍니다.

3단계: 충돌 감지 및 게임 오버 설정

고양이가 장애물에 닿았을 때 게임이 멈추도록 설정합니다.

  • 공 코딩에 추가:
    1. 무한 반복하기 안에 만약 [고양이]에 닿았는가? 라면 조건 블록을 넣습니다.
    2. 조건문 내부에 [모두 멈추기] 블록을 배치하여 게임을 종료시킵니다.

4단계: 점수(변수) 시스템 추가하기

게임의 재미를 더하기 위해 회피 성공 시 점수가 올라가는 로직을 만듭니다.

  1. [변수] 카테고리에서 점수라는 이름의 새로운 변수를 생성합니다.
  2. [초록 깃발]을 클릭했을 때 밑에 [점수]를 0으로 정하기를 연결합니다.
  3. 공이 고양이를 지나쳐 우측으로 재배치될 때마다 [점수]를 1만큼 바꾸기 코드를 실행하도록 추가합니다.

함께 보면 좋은 글

초등학생 무료 코딩 플랫폼 TOP 3|우리 아이 첫 코딩 시작하기

댓글 남기기