게임 01 사과 받기 게임

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

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

좌우방향기로 움직이는 바구니 만들기

먼저 바구니 스프라이트에 대한 스크립트를 작성하겠다. 를 클릭하면 바구니가 스테이지의 아래쪽 중앙으로 이동한다. 오른쪽 화살표와 왼쪽 화살표의 상태에 따라 바구니를 이동한다. 몇 번의 테스트를 통해 30만큼 이동하도록 하였다. 따라서 자유롭게 변경할 수 있다.

  • 이벤트 카테고리 블록에서 블록을 드래그 한다.
  • 제어 카테고리 블록에서 블록을 드래그 한다.
  • 제어 카테고리 블록에서 블록을 블록안에 드래그 한다.
  • 관찰 카테고리 블록에서 블록을 만약 블록에 드래그 한다. 드롭다운 메뉴를 눌러 왼쪽 화살표 로 변경한다.
  • 동작 카테고리 블록에서 블록을 만약 블록안에 그래그 하여 삽입한다. 값을 -30로 한다. 값에 따라 움직이의 크기가 결정된다.
  • 만약 블록에 마우스 오른쪽 키를 눌러 블록을 복사하여 아래 붙인다.
  • 블록의 드롭다운 메뉴를 눌러 오른쪽 화살표로 변경하고 의 값을 30으로 한다.

위에서 떨어지는 사과 스프라이트 만들기

이제 사과스프라이트를 복제 블록, 난수 블록을 이용하여 위에서 랜덤한 위치에서 떨어지도록 스크립트를 완성하겠다.

  • 이벤트 카테고리 블록에서 블록을 드래그 한다.
  • 형태 카테고리 블록에서 블록을 드래그 하고 값을 50으로 한다.
  • 동작 카테고리 블록에서 블록을 드래그 한다. 연산 카테고리 블록에서 을 x좌표 값에 드래그 하고 값을 -210, 210 한다. y좌표 값은 180으로 한다.
  • 제어 카테고리 블록에서 블록을 드래그 하여 복제를 한다.
  • 제어 카테고리 블록에서 블록을 드래그 한다. 연산 카테고리 블록에서 을 숫자값에 드래그한 뒤 값을 0.1 , 1.5로 한다.

이것을 30번 반복하면 30개의 사과가 임의의 위치에서 임의의 시간 간격으로 복제된다.

  • 30개이 사과를 복제한 후 원본 사과 스프라이트를 숨기기 한다.(숨기기 블록을 사용하면 스프라이트가 보이지 않기 때문에 꼭 보이기 블럭과 함께 사용하여 원하지 않은 스프라이트가 숨기기를 방지한다.)

사과 스프라이트가 계속 복제될 때 마다 복제된 사과 스프라이트는 아래로 10만큼씩 이동하여 떨어지도록 한다.

  • 제어 카테고리 블록에서 블록을 드래그 한다.
  • 제어 카테고리 블록에서 블록을 드래그 한다.
  • 동작 카테고리 블록에서 블록을 드래그 하고 값을 -10으로 한다.

사과 받을때마다 점수 획득하기

이제 바구니 스프라이트가 떨어지는 사과를 받을때 마다 점수 1를 획득 하고 사과는 사라지도록 한다.

  • 우선 데이터 카테고리에서 변수만들기를 클릭하여 변수 이름을 점수로 하여 변수를 만든다.
  • 블록을 블록 아래 드래그 한다.
  • 제어 카테고리 블록에서 블록을 블록안에 블록 아래 드래그 한다.
  • 관찰 카테고리 블록에서 블록을 드래그 하고 드롭다운 메뉴를 클릭하여 바구니 스프라이트를 선택한다.
  • 데이터 카테고리 블록에서 블록을 드래그 한다.
  • 제어 카테고리 블록에서 블록을 드래그 한다.

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

게임 난이도 변경하기 1 떨어지는 사과의 속도가 각각 다르게 하기

사과가 위에서 떨어질때 난수 블록을 사용하여 각각의 사과의 속도가 다르게 하여 게임의 난이도를 높여보자.

  • 우선 데이터 카테고리에서 변수만들기를 클릭하여 변수 이름을 속도로 하여 변수를 만든다. 이때 속도 변수는 지역변수가 되도록 이 스프라이트에서만 사용을 선택 한다.
  • 블록 아래 블록을 드래그 한다.
  • 연산 카테고리 블록에서 블록을 블록 값에 드래그 한다. 값을 -10, -1로 한다.
  • 데이터 카테고리 블록에서 블록을 블록의 값에 드래그 한다.


반응형