자연스럽게 점프하기 - 스크래치 프로그래밍 - 기초부터 게임 만들기까지!
스크래치 프로그래밍 - 기초부터 게임 만들기까지!
  • 자연스럽게 점프하기
    learn
    Practice
    learn
    09 스프라이트 조종하기
    자연스럽게 점프하기

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

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

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


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

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

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

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

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

    Practice

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

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

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

    learn
    Practice
    Q & A
    Q&A forum that anyone can ask and answer.
    Share your questions and answers with other students and grow together!
    Registered Questions(0)