본문 바로가기
카테고리 없음

Unity를 이용하여 Flappy bird 게임 만들기

by Creative Developer 2023. 2. 24.

다음은 Unity를 사용하여 Flappy Bird 게임을 만드는 방법에 대한 예와 함께 단계별 가이드입니다:

작업 순

1. 새 Unity 프로젝트를 만들고 Flappy Bird 에셋(예: 새, 배경, 파이프)을 프로젝트로 가져옵니다.

2. 게임의 새 장면을 만들고 새, 배경 및 파이프와 같은 필요한 개체를 게임에 추가합니다. 사운드 효과 및 배경 음악에 대한 오디오 소스를 추가할 수도 있습니다. 예: 이미지 파일을 계층 패널로 끌어다 놓아 배경 이미지를 장면에 추가합니다. 그런 다음 Scene(장면) 보기에서 배경 개체의 위치와 크기를 조정할 수 있습니다.

3. 새의 움직임을 제어하기 위한 스크립트를 작성하세요. Ridgedbody 2D 구성 요소를 사용하여 새에 물리학을 추가하고 플레이어 입력에 따라 새가 위아래로 날아오르게 할 수 있습니다. 예: "BirdController"라는 새 스크립트를 만들어 새 개체에 첨부합니다. 다음 코드를 스크립트에 추가하여 새의 움직임을 제어합니다:

이 스크립트는 점프력에 대한 공개 플로트 변수, 새의 물리적 구성 요소에 액세스하기 위한 개인 리지드바디2D 변수, 플레이어의 입력을 듣고 새의 속도를 설정하여 위쪽으로 이동하는 업데이트() 메서드를 추가합니다.

4. 일정한 간격으로 파이프를 생성하는 스크립트를 작성합니다. InvokeRepeating() 메서드를 사용하여 새 파이프 집합을 생성하는 함수를 반복적으로 호출하고 파이프 집합을 화면에서 벗어난 오른쪽에 배치할 수 있습니다. 예: "PipeSpawner"라는 새 스크립트를 만들어 씬(scene)의 빈 개체에 연결합니다. 파이프를 생성하는 스크립트에 다음 코드를 추가합니다:

이 스크립트는 파이프를 생성하기 위해 InvokeRepeating()을 호출하는 Start() 메서드뿐만 아니라 파이프 프리팹, 생성 간격 및 파이프 높이에 대한 공개 변수를 추가합니다. SkenPipe() 메서드는 파이프에 대해 임의의 Y 위치를 생성하고 해당 위치에서 새 파이프 객체를 인스턴스화합니다.

5. 새와 파이프의 충돌을 감지할 수 있는 대본을 작성하세요. OnTriggerEnter2D() 메서드를 사용하여 새가 파이프와 충돌할 때 게임 오버 상태를 트리거할 수 있습니다.

6. 화면을 두드리거나 클릭하여 새가 날개를 퍼덕이게 하는 등 플레이어의 입력을 처리하는 스크립트를 작성합니다.

7. 배경을 만듭니다 이제 우리는 게임의 배경을 만들어야 합니다. 우리는 간단한 2D 스프라이트를 배경으로 사용할 수 있습니다. 이렇게 하려면 먼저 "백그라운드"라는 빈 게임 개체를 새로 만듭니다. 그런 다음 Sprite Renderer 구성 요소를 추가합니다. 그런 다음 배경 스프라이트를 Sprite Renderer 구성 요소에 끌어다 놓습니다. 카메라의 위치와 크기를 변경하여 배경에 맞게 카메라를 조정할 수도 있습니다.

8. 장애물을 만드세요 이제 우리는 선수가 피해야 할 장애물을 만들어야 합니다. 우리는 장애물로 또 다른 단순한 2D 스프라이트를 사용할 수 있습니다. 먼저 "장애물"이라는 빈 게임 개체를 만듭니다. 그런 다음 Sprite Renderer 구성 요소를 추가합니다. 그런 다음 장애물 스프라이트를 스프라이트 렌더러 구성 요소에 끌어다 놓으십시오. 장애물이 플레이어 쪽으로 이동하도록 하려면 새에게 사용했던 것과 동일한 방법을 사용할 수 있습니다. "장애물 이동"이라는 새 C# 스크립트를 만들어 "장애물" 게임 개체에 연결합니다. 장애물 이동 스크립트에서 장애물의 속도를 조정하기 위해 "속도"라는 공용 플로트 변수를 만듭니다. 그런 다음 "업데이트" 기능에서 다음 코드를 사용하여 장애물을 플레이어 쪽으로 이동합니다: transform.position += Vector3.left * 속도 * Time.deltaTime;입니다;

9. 게임 관리자를 만듭니다 마지막으로 게임 흐름을 관리할 게임 관리자를 만들어야 합니다. "GameManager"라는 빈 GameObject를 새로 만들고 여기에 "GameManager"라는 C# 스크립트를 첨부합니다. 게임 관리자 스크립트에서 게임을 시작하고 종료하는 공용 기능을 만듭니다. "시작" 기능에서 게임 상태를 "재생"으로 설정하고 새와 장애물을 인스턴스화합니다. "종료" 기능에서 게임 상태를 "게임 오버"로 설정하고 모든 게임 개체를 파괴합니다. UI 캔버스를 추가하여 점수 및 게임 오버 메시지를 표시할 수도 있습니다.

10. 게임을 실행해봅니다. 이제 유니티 편집기에서 게임을 실행하거나 원하는 플랫폼으로 게임을 내보낼 수 있습니다.

 

축하합니다. 유니티에서 플래피 버드 게임을 성공적으로 만들었습니다!

댓글