스크래치 프로그래밍 - 기초부터 게임 만들기까지!
    • 01
      스크래치 입문
    • 스크래치 소개
      스크래치 사용자 인터페이스
      구름EDU 스크래치
      Hello, World!
    • 02
      스프라이트 영역
    • 스프라이트 영역
      저장소에서 이미지 가져오기
      이미지 직접 그리기
      로컬에서 이미지 가져오기
    • 03
      작업 영역
    • 스크립트 작성
      스크립트 작성 기본 실습
      소리 다루기
      소리 다루기 기본 실습
      모양 다루기
      모양 다루기 기본 실습
    • 04
      무대 영역
    • 무대 영역
      무대 영역 실습
    • 05
      스크래치 기본
    • 제어 분류 블록 알아보기
      조건 제어 블록
      조건 블록
      반복 제어 블록
    • 06
      스프라이트 & 배경
    • 그림(스프라이트) 삽입, 삭제하기
      그림 수정하기
      배경 설정하기
    • 07
      애니메이션화 하기
    • 애니메이션의 개념
      배경 애니메이션화하기
      이벤트 분류 블록 알아보기
    • 08
      좌표와 위치
    • 좌표의 개념
      스프라이트 위치 변경
      벽에 닿으면 튕기기
      회전 방향 바꾸기
    • 09
      스프라이트 조종하기
    • 스프라이트 조종하기(좌우)
      자연스럽게 움직이게하기
      스프라이트 애니메이션화 하기
      스프라이트 조종하기(점프)
      자연스럽게 점프하기
    • 10
      게임 소개
    • 게임 만들기
      구름 마리오
      다루는 내용
    • 11
      게임 시작
    • 게임 시작화면 만들기
      캐릭터 선택 기능 추가하기
      맵 크기 조절하기
    • 12
      장애물
    • 장애물 생성하기
      장애물 자동으로 생성하기
      움직이는 장애물 만들기
    • 13
      아이템
    • 아이템 생성하기
      아이템 획득하기
      아이템 자동으로 생성하기
      움직이는 아이템 만들기
    • 14
      게임 종료
    • 게임오버 화면 생성하기
      게임오버 화면에 효과주기
      맺음말
    • 15
      부록
    • 게임 난이도 조절하기 - 캐릭터의 점프력 높이기
      게임 난이도 조절하기 - 장애물 복제 빈도 조절하기
      게임 난이도 조절하기 - 장애물 높이 변화주기
    자연스럽게 점프하기
    learn
    undefined undefined
    자연스럽게 점프하기

    고양이의 좌우 이동에 이어 점프하기까지 진행하셨으니 스프라이트의 움직임은 거의 완성하셨습니다. 다음 단원부터 본격적으로 시작되는 '게임 만들기'로 넘어가기 전에 고양이의 점프를 조금 다듬으면 좋을 것 같습니다.

    스프라이트를 자연스럽게 점프하도록 하는 원리는 간단합니다. 처음 점프할 때 가장 빠른 속도로 올라가다가 가장 높은 지점에서 속도가 0이 되고, 다시 내려오면서 점점 빨라졌다가 땅에 닿으면 멈추는 것입니다. 이 원리에 따라 점프하기(기본)에서 작성한 스크립트를 조금 변경해보도록 하겠습니다.

    default

    위와 같이 가속도를 고려하여 스크립트를 작성하면 실감나는 점프를 할 수 있습니다. 그러나 위의 스크립트에는 문제점이 있습니다. 스프라이트의 움직임을 더욱 세밀하게 표현하는 상황을 가정해 봅시다. 지금 상태도 충분히 긴 스크립트가 더 길어지고 작성하기가 번거로워지게 됩니다. 이런 상황에서 우리는 언제나 그랬듯이 반복 루프 블록을 사용해야합니다. 루프안에 속도 값이 감소와 증가를 반복하여 위의 스크립트와 같은 동작을 하도록 블록을 조합하시면 됩니다.


    변수 만들기
    스크립트를 작성하려다 보니 스크래치에 기본적으로 주어진 블록 중에는 속도 값을 저장할 변수가 없다는 사실을 깨달으셨을 것 입니다. 이런 상황에서는 변수를 생성해야합니다. ''를 클릭하여 변수 이름을 속도로 정하고 확인 버튼을 클릭합니다. 아래 그림과 같이 속도 변수와 변수를 다루는 것과 관련된 블록들이 생성되었습니다.

    default

    변수가 생성되었으니 스크립트를 작성할 수 있습니다. 작성할 스크립트를 모델링한 후에 작성에 들어가도록 하겠습니다.

    1. 위쪽 화살표 키를 누른다.
    2. 처음 시작하는 속도를 지정한다.
    3. 고양이가 2에서 지정한 속도로 점프한다(점프는 항상 속도에 의존한다).
    4. 속도가 지속적으로 감소하여 고양이는 최고 지점을 기점으로 속도가 음의 값이 된다.
    5. 속도가 지속적으로 증가(음의 방향으로)하며 고양이는 처음 출발한 위치에서 멈춘다.

    위의 내용을 스크립트화 하면 아래와 같은 형태가 될 수 있습니다.

    default

    위와 같은 스크립트로 자연스럽게 점프하는 고양이를 만들어 보았습니다. 실습을 통해 강의에서 다룬 내용을 정리하시기 바랍니다.

    Practice

    고양이를 자연스럽게 점프하는 방법을 배우셨습니다.

    주어진 고양이는 점프하는 것이 매우 부자연스럽습니다.

    고양이가 자연스럽게 점프하도록 스크립트를 작성해주세요.

    Q&A