프로젝트/[조코딩] 플래피버드 클론 게임 개발

[조코딩] 플래피버드 클론 게임 개발 - C1 : 배경 및 캐릭터 제작하기

순정법사 2023.02.14
더보기

강의 목차

 

A. 게임 엔진 소개

B. 유니티 설치 및 세팅 (+ VS Code)

👉 C. 플래피버드 클론 게임 개발 

D. 스마트폰 테스트

E. 플래피버드 앱 생성

F. google play 스토어 등록

G. 애드 네트워크의 개념과 애드몹(Admob)

 

C. 플래피버드 클론 게임 개발 -1

1. 배경 이미지 생성하기

a. 오브젝트 추가

Assets에 있는 배경화면 Scene에 끌어다 놓으면 자동으로 추가됨

 

화면 비율은  위와같이 하기

 

b. 게임 화면 비율 조정하기

안맞는건 클릭해서 맞춰주기

 

2. 애니메이션 추가하기

a. 새 한마리 이미지를 Scene에 추가

위치 x: 0, y: 0

 

 

b. 이름을 Bird라고 rename

 

c. Animation 창 활성화 후 BirdFly 라는 이름을 Create 

 

d. 새가 파닥거리도록 이미지 세개로 애니메이션 생성하기 

재생이 잘 된다면 저장 후 닫기

 

 

e. Order in Layer 설정

Background보다 높게 설정 

 


3. 땅 오브젝트 추가 및 애니메이션 생성

a. 새처럼 이미지 끌어다가 놓기

 

b. Order in Layer 높게 설정하기

 

c. Draw Mode : Tiled로 설정 후 늘려주기 

👉 규칙성 따라서 이미지가 늘어남

 

 

d. GroundMove의 애니메이션을 생성함 

 

e. 녹화모드 클릭 후  시간 재생 했을 때 이미지 옮겨주기

 

f. 애니메이션 속도 조절하기

모두 클릭 후 Both Tangents -> Linear

 

 


4. 중력, 물리 경계 추가하기

a. Bird 클릭 후 Add Component -> Rigidbody 2D 적용

 

b. Bird  Ground 클릭 후 Add Component -> Capsule Collider 2D 적용

Direction Horizontal / Edit Colider 클릭

 

이렇게 됨

 

c. Bird  Ground 클릭 후 Add Component -> Box Collider 2D 적용

여기까지의 결과물

 

 

5. 점프 기능 추가하기 - 스크립트 추가

a. Bird 클릭 후 Add Component -> New Script

아래 Create and Add 생성

 

b. VS Code 설치하고 BirdJump 켜기

 

💛 유니티 스크립트 기본 구조 파악

//외부 모듈이나 라이브러리를 가져올 때 사용하는 import 코드
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//Class를 정의하는 방법 : ~ 상속받는 클래스
public class BirdJump : MonoBehaviour
{
    // 시작될 떄 불러지는 함수
    void Start()
    {
        
    }

    // 1프레임 마다 작동하는 함수
    // 60fps : 1초에 60장
    void Update()
    {
        
    }
}

 

c. 점프 기능 구현하기

1) 코드 구현 로직

 

점프는 중력의 영향을 받음

따라서 rigidbody 2D를 이용해 점프를 구현해야 함!

 

2)  코드 설명

 

a) 컴포넌트의 변수를 만들고

b) 컴포넌트를 받아서

c) 컴포넌트의 어떤 동작을 함

 

public class BirdJump : MonoBehaviour
{
    //a) 
    Rigidbody2D rb;

    void Start()
    {
        // b) rigidbody 2D라는 컴포를 가져와서 rb에 담기
        rb = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        // c) 왼쪽 마우스 버튼을 눌렀을 떄
        if (Input.GetMouseButtonDown(0))
        {
            //rb의 속도는 벡터의 위로  (0,1) * 3 속도를 어떻게 조절할것이냐!
            rb.velocity = Vector2.up * 3;
        }
    }
}

 

d. 점프 강도 조절하기 (유니티에서 직접 제어)

1) 코드 설명

 

유니티에서 직접 제어하려면 변수를 public 으로 지정해야 함!

 

2)  코드 변경

 

a) 위 코드를 jumpPower이라는 변수를 생성

b) jumpPower을 속력을 조절하는 곳에 넣어줌

 

public class BirdJump : MonoBehaviour
{
    Rigidbody2D rb;
    public float jumpPower; //a) 점프 강도 조절 (유니티에서 제어)

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            rb.velocity = Vector2.up * jumpPower; //b) 
        }
    }
}

 

3) Unity에서 jumpPower 직접 제어하기

 

0을 다른 숫자로 넣으면서 테스트!

 

4) 확인하기

슝슝슝~

 

 

 


출처 : 조코딩 유튜브