동작블럭 프로젝트 사과잡기 게임

사과 잡기 게임 프로젝트를 생각해 보겠다. 사과 나무에서 사과가 임의의 위치에 나타나고 랜덤하게 수직으로 떨어진다. Player 스프라이트는 좌우로 움직이며 떨어지는 사과를 땅에 닿기 전에 카트에 담는다. 사과를 담을때마다 1점씩 얻는다.


이런 게임은 동일한 많은 스프라이트를 필요로 한다고 생각할 수 있다. 복제 기능을 사용하면 많은 사과를 쉽게 만들 수 있다. 하나의 사과 스프라이트를 사용하여 원하는 만큼의 클론을 만든다.


아래 파일을 열면 스크립트가 없는 게임을 완성하기 위한 스프라이트가 있다. 또한 '점수’라는 변수가 포함되어 있다. 이 변수는 잡힌 사과를 추적하는 데 사용된다. 먼저 카트 스프라이트에 대한 스크립트를 작성하겠다.


CatchApples_NoCode.sb2



'녹색 깃발’를 클릭하면 카트가 스테이지의 아래쪽 중앙으로 이동한다. 그런 다음 스크립트는 계속 오른쪽 화살표와 왼쪽 화살표의 상태에 따라 카트를 이동한다. 몇번의 테스트를 통해 30만큼 이동하도록 하였다. 따라서 자유롭게 변경할 수 있다.



이제 사과스프라이트를 복제하는 스크립트를 완성하겠다. '녹색 깃발’을 클릭 했을때 복제가 되도록 한다. 우선 '점수’를 0으로 정하고 스프라이트 보이기를 한다. 사과 스프라이트가 랜덤한 위치에서 떨어지도록 하기 위해 \(x\) 좌표를 '-210 ~ 210’중 랜덤하게 하고 \(y\) 좌표는 '180’으로 정한다. 그다음 '나 자신을 복제하기’하여 복제를 하고 '0.1 ~ 1.5’사이의 랜덤한 시간을 기다린다. 이것을 30번 반복하면 30개의 사과가 임의의 위치에서 랜덤한 시간 간격으로 복제된다.



사과 스프라이트가 계속 복제될 때 마다 복제된 사과 스프라이트는 아래로 10만큼씩 이동하여 떨어지도록 한다. 떨어지는 동안 사과 스프라이트를 Player 스프라이트가 잡았을때 점수를 ‘1’ 만큼 변경한다. 또한 사과 스프라이트가 수직위치 '-100’이하가 되면 복제된 사과 스프라이트를 삭제하여 떨어진 사과 스프라이트는 사라지도록 한다.



이제 녹색 깃발을 클릭하여 게임을 실행해 본다. 사과를 복제 할 때까지의 대기 시간과 카트 이동 속도를 변경해본다. 또한 게임의 어려움을 바꾸기위한 다른 아이디어가 있다면 적용해 본다.


동작블럭 사과잡기 프로젝트 동영상



반응형