본문 바로가기
1인개발/유니티

꾸역꾸역 유니티 점프 게임 만들기 - 3

by MaskOfDali 2020. 7. 17.
반응형

돈까스점프 게임은 각 스테이지마다 양배추, 밥, 국이 각 1개씩 있고, 새우튀김이 다수 있어서 아이템을 몇개 먹었느냐에 따라 각 스테이지 Complete 정도가 나오게 할 예정입니다. 그래서 아이템 스크립트를 작성하기로 합니다.

 

이 글은 비전공 + 무경험 + 독학자로서 공부 및 기록을 겸하며 작성되고 있으므로, 전문적인 내용이 아님을 알려드립니다.

 

3번째

 

[ 한 일 ]

 

1. 아이템 인터페이스 스크립트 작성

  • 모든 아이템은 먹었을 경우 이벤트가 발생해야 하므로 빈 Use() 메서드를 만듦

2. 각 친구 아이템 스크립트 작성

  • 각 스테이지에 1개씩만 배치할 친구아이템 3종(양배추, 밥, 국)의 Use() 메서드 작성
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ItemCabbage : MonoBehaviour, IItem {
    
    public void Use() {
        GameManager.instance.getFriends += 1; //GameManager에서 먹은 친구(...) 개수 추가
        UIManager.instance.ChangeUICabbageColor(); //흑백의 UI를 컬러로 교체
        Destroy(gameObject); //먹혔으면 사라지기      
    }
}

 

3. UI Manager 스크립트 작성

  • 아이템을 먹었을 때 UI 변경
public void ChangeUICabbageColor() {
        uiCabbageGray.SetActive(false); //기존의 흑백 UI를 비활성화
        uiCabbageColor.transform.position = uiCabbagePosition; //숨겨왔던 컬러이미지를 흑백UI 자리에 배치
    }

양배추를 먹으니 흑백 양배추가 칼라 양배추가 되어요

 

4. 새우튀김 스크립트 작성

 

using UnityEngine;

public class ItemShrimp : MonoBehaviour, IItem
{
    public void Use() {
        GameManager.instance.shrimpScore += 1; //먹은 새우튀김 개수 추가
        UIManager.instance.UpdateShrimpText(); //UI에 새우튀김 몇개 먹었는지 표시하기
        Destroy(gameObject); //먹혔으면 사라지기
    }    
}

 

5. UI Manager에 새우튀김 먹은 개수 표시해 줄 스크립트 추가

public void UpdateShrimpText() {
        shrimpText.text = GameManager.instance.shrimpScore + " / " + GameData.shrimpOnStage[GameData.stage];
    } //먹은 개수 / 스테이지별 새우튀김 개수 (GameData 클래스에 별도로 저장)

 

새우튀김을 먹으면 UI 의 text 변경하기

스크립트 짜는 것도 어렵지만 이미지 제작은 정말 고되네요. 끝이 없음

반응형

댓글