런게임은 달려가는 동작을 하는 캐릭터가 다가오는 장애물을 피할 때마다 점수를 얻는 게임입니다. 이번 호에서는 런게임의 기본 요소와 동작 방식을 알아보겠습니다.
런게임의 화면 구성은 다음과 같습니다. 바닥 오브젝트(스크래치에서 자신이 추가한 스프라이트나 배경 같은 이미지) 위 왼쪽 하단에 귀여운 캐릭터가 있습니다. 이 게임은 캐릭터가 장애물을 피하면 화면의 왼쪽 윗부분에 있는 점수 박스의 점수가 올라가고 장애물에 부딪히면 게임이 끝나는 방식으로 작동합니다.
런게임에서는 게임 매니저 오브젝트를 정의해 사용합니다. 게임 매니저 오브젝트는 게임 시작과 종료를 알리고 일정 시간 간격으로 장애물 오브젝트를 만드는 역할을 합니다. 게임 매니저 오브젝트는 게임 화면에 나타날 필요가 없기 때문에 보이지 않도록 설정합니다.
캐릭터는 스크래치 코드를 이용해 달리거나 점프하는 것처럼 연출할 수 있습니다. 먼저 4장의 캐릭터 이미지를 이용해 달리는 동작을 연출합니다. 그리고 플레이어가 스페이스 키를 누르면 점프하도록 설정합니다. 캐릭터가 점프하는 것처럼 보이도록 속도(Velocity), 시간 간격(dt), 중력(Gravity)을 변수로 설정합니다.
지금까지 캐릭터의 동작 방식을 설명했으니, 이제 바닥 오브젝트와 장애물 오브젝트의 움직임을 알아봐야 할 차례인데요. 여기서 바닥 오브젝트는 캐릭터가 달리는 발판 역할을 합니다. 먼저 배경 이미지의 가로 길이와 같은 바닥 이미지 두 개를 화면 아래에 나란히 배치합니다. 게임을 시작하면 두 개의 바닥 이미지를 배경의 가로 길이만큼 왼쪽으로 이동시킵니다. 이를 다시 처음 위치로 가져다 놓고 다시 왼쪽으로 이동하는 과정이 끊임없이 반복되도록 설정합니다. 이렇게 하면 바닥 오브젝트가 왼쪽으로 이동하는 효과가 나타납니다. 이 효과 때문에 그 위에 놓인 캐릭터는 우리 눈에는 오른쪽으로 이동하는 것처럼 보이겠지요.
런게임의 재미는 갑자기 나타나는 장애물을 피하는 것인데요. 게임이 시작될 땐 장애물 오브젝트를 보이지 않도록 숨기고 게임 진행 중에는 장애물 오브젝트의 복제본을 만들어 이용합니다. 복제본은 게임 매니저 오브젝트를 이용해 만들 수 있습니다. 장애물의 복제본이 만들어지면 왼쪽으로 이동하는데요. 캐릭터가 장애물을 통과하면 점수가 1점씩 높아지고 장애물은 사라졌다가 다음 동작 때 그 복제본이 다시 나타납니다. 캐릭터와 장애물이 부딪히면 게임이 종료됩니다.
이번 호에서는 런게임의 화면 구성과 작동 방식을 살펴봤습니다. 자세한 스크래치 코드는 아래의 QR 코드를 스캔하면 확인할 수 있습니다. 이번 코드는 캐릭터가 점프한 상태에서 연속으로 점프가 가능하거나 점프한 상태에서도 달리는 동작을 하고 있는 등 개선할 점이 많이 있으니, 직접 코드를 수정해 보기 바랍니다. 우수한 결과물을 폴리매스 사이트에 올린 참가자에게는 선물을 드릴 예정입니다. 지금 바로 참여하세요!