돌 피하기 게임 만들기 1 [스크래치 강좌]
스프라이트를 움직이는 법을 배워보았습니다.
그래서!! 이제 게임을 만들어 볼까 합니다.
우리가 만들 게임은 돌 피하기 게임으로 3번 돌에 닿게 되면 게임이 종료됩니다.
이전 강좌를 응용하여할 것이므로 준비물은 이전 강좌의 블럭들입니다. 우선 목표 동영상으로 먼저 보겠습니다.
고양이는 다가오는 돌을 점프로 피해야합니다. 만약 돌에 닿는다면 생명을 1개씩 잃게 되고 1초동안 무적이 됩니다.
생명을모두 잃게 되면 게임이 종료됩니다. 돌을 넘을 때마다 점수가 부여됩니다.
이제 직접 게임을 만들어보겠습니다.
우선 배경을 불러오겠습니다.
왼쪽 하단을 보면 무대 밑에 배경을 불러올 수 있습니다.
스크래치의 기본 배경들이 많이 있습니다. 이중 마음에 드는 것을 골라오면 됩니다.
이번에 만들어볼 게임과 가장 적합한 배경인 'Blue sky' 를 불러옵니다.
배경을 불러왔습니다.
이제 바위를 꺼내올 차례입니다.
새로운 스프라이트 중에 사람? 모양의 아이콘을 클릭합니다.
새로운 스프라이트 중에 사람? 모양의 아이콘을 클릭합니다.
바위가 너무 큰 것 같습니다. 바위 스프라이트의 크기를 줄이겠습니다
바위를 클릭하고, 모양을 클릭합니다. 그 후 바위의 그림을 클릭해 크기를 조절합니다.
크기가 조절되었습니다.
이제 바위 스프라이트에 블럭을 만들 차례입니다.
바위는 오른쪽에서 왼쪽으로 평행이동할 것이며 왼쪽 끝에 닿으면 다시 오른쪽으로 가도록 하겠습니다.
이동 속도는 랜덤하도록 하겠습니다.
다시 스크립트를 눌러줍니다.
바위를 구석 끝에 쑤셔 넣습니다. 그러면 'x: ~ y: ~로 이동하기'라는 블럭에서 자동으로 현재 위치로 바뀝니다. 그대로 끌어와 사용합니다. 대신 Y 축은 적절한 값인 -125로 변환하여 줍니다.
그 후 '~ 초 동안 x : ~ y : ~으로 움직이기'라는 블럭도 꺼내옵니다. 이건 현재 위치에서 입력한 위치로 해당 초 동안 이동합니다. 1초 동안과 2초 동안의 속도는 당연히 다르고 입력한 초가 작을수록 빠릅니다. 적절한 값인 x는 -200과 y는 -125로 변환하여줍니다. 연산 카테고리의 '~부터 ~ 사이의 난수'를 ~초 동안에 넣어줍니다.
그 후 2부터 3 사이로 수정하여줍니다.
2초에서 3초 동안의 랜덤한 초 동안 돌이 오른쪽에서 왼쪽으로 이동합니다.
영상으로 확인해보겠습니다.
(확실한 확인을 위해 1 ~ 5초로 변경하였습니다)
돌이 왼쪽에 도착할 때마다 1점을 부여하도록 해보겠습니다. 데이터 - 변수 만들기 - 점수로 점수라는 변수를 만들어줍니다.
변수를 만들었을 때 기본 화면입니다.
점수 옆의 체크를 해제하면 화면 내의 점수 표시가 사라집니다.
'~을(를) ~ 만큼 바꾸기' 블럭을 꺼내와 아래에 붙여줍니다.
왼쪽으로 도착했다면 점수라는 변수에 1만큼 바꿉니다(더합니다).
또 '~을(를) ~로 정하기'를 꺼내와 '녹색 깃발을 클릭했을 때' 밑에 붙여줍니다.
게임이 시작되면 점수를 0으로 초기화 시킵니다.
돌이 한 개면 시시하므로 두 개로 만들어 보겠습니다.
물론 블럭을 하나하나 다시 꺼내서 새로 만드는 방법도 있지만, 어차피 동작이 같은 거라 복사하여도 상관이 없습니다.
바위를 우 클릭하여 복사를 클릭하여줍니다. 새 친구가 태어났습니다.
지금까지의 동작을 영상으로 확인해보겠습니다.
바위가 왼쪽에 도착할 때마다 1점씩 올라가고, 게임을 다시 시작하면 초기화됩니다.
여기까지가 돌 피하기 게임 만들기 1부입니다.
돌 피하기 게임 만들기 2부에서 이어나가겠습니다.
출처 [메카솔루션] http://Mechasolution.com
|