[내일배움캠프 사전캠프] 고양이 밥주기 게임

백성은·2025년 4월 6일

TIL

목록 보기
9/34

✅ 이번 강의에서 배운 것

  • 게이지 채우기, 오브젝트 교체
  • 레벨 시스템

✅ 학습 내용

게이지 채우기, 오브젝트 교체

	public RectTransform front;
        private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.CompareTag("Food"))
        {
            if (energy < full)
            {
                energy += 1.0f; // 먹이 먹을시 증가
                front.localScale = new Vector3(energy / full, 1.0f, 1.0f); // 게이지 채워지는 부분
                Destroy(collision.gameObject); // 먹은 먹이 오브젝트 제거
                if (energy == 5.0f)
                {
                    if (!isFull)
                    {
                        isFull = true;
                        hungryCat.SetActive(false); // 배고픈 고양이 사라짐
                        fullCat.SetActive(true); // 배부른 고양이 생김
                        Destroy(gameObject, 3.0f); // 3초후 삭제
                        GameManager.Instance.AddScore();
                    }
                }
            }
        }
    }

레벨 시스템

	void MakeCat()
{
    Instantiate(normalCat); // 기본 고양이는 항상 등장

    if (level == 1)
    {
        int p = Random.Range(0, 10);
        if (p < 2) Instantiate(normalCat);
    }
    else if (level == 2)
    {
        int p = Random.Range(0, 10);
        if (p < 5) Instantiate(normalCat);
    }
    else if (level == 3)
    {
        Instantiate(fatCat); // 뚱뚱한 고양이 등장
    }
    else if (level >= 4)
    {
        int p = Random.Range(0, 10);
        if (p < 5) Instantiate(normalCat);

        Instantiate(pirateCat); // 해적 고양이 등장
    }
}

Make Cat() 함수를 이용해서 레벨이 오를수록 새로운 고양이 종류가 등장한다

	    public void AddScore()
    {
        score++; // 점수 1증가
        level = score / 5;
        levelTxt.text = level.ToString(); // 현재 레벨 표시
        levelFront.localScale = new Vector3((score - level * 5) / 5.0f, 1f, 1f);
        // 레벨 내에서의 게이지 채우기
    }

✅ 학습 후기

이전 강의에서 배운 내용들이 점점 익숙해지고, 레벨업 시스템까지 구현해보니 게임의 완성도가 조금은 올라간 걸 느꼇다.
덕분에 게임 개발에 흥미가 더 붙었고, 다음 강의가 더 기대된다.

✅ 다음 학습 계획

  • 르탄이 카드 뒤집기 게임
profile
게임 개발일지

0개의 댓글