1인 개발/PushAndSlash

푸쉬앤슬래시 개인 프로젝트 9일차

잼잼재미 2024. 5. 14. 03:34

구현 내용


1. 자동 저장 구현


https://kkln2486.tistory.com/408

 

데이터 저장 (Easy Save 에셋)

Easy save데이터를 쉽고 빠르게 저장 가능모바일 기기에서도 빠른 속도 JSON 및 XML과 비교하여 훨씬 빠르고 훨씬 적은 메모리 사용효율적이고 안전한 데이터 암호화빠른 개발과 오래된 지속적인 업

kkln2486.tistory.com

 

  • Easy Save 유료 에셋 사용
  • 게임을 종료하면 DataManager의 데이터가 자동으로 저장

 

 

2. 사운드 조절 기능 구현


 

https://kkln2486.tistory.com/155

 

사운드 슬라이더 바 만들기

1. 슬라이더 추가 볼륨은 -80~20까지 존재하지만, -40~0까지만 사용함 (-40 이하는 거의 들리지 않고, 0 이상은 음악이 깨짐) 2. AudioSource 준비 3. AudioMixer 설정 Mixers 이름 설정 Master - BGM, SFX 그룹으로 구

kkln2486.tistory.com

 

 

3. 인벤토리 UI에 캐릭터 표시


https://kkln2486.tistory.com/415

 

UI에 3D 캐릭터 보이게하기 (Rendertexture)

구현 방법1. Rendertexture 생성  2. Size 설정 Render 될 오브젝트의 크기가 크다면 1024 x 1024로 설정 Render 될 오브젝트의 크기가 작다면 256 x 256로 설정 사이즈는 2제곱 수로 설정  3. Camera 생성  4. C

kkln2486.tistory.com

 

 

4. 유저 ID 생성


https://kkln2486.tistory.com/134

 

캐릭터 이름 입력창 만들기 (Input Field - TextMeshPro)

using UnityEngine.UI; using TMPro; [SerializeField] TMP_Text text; [SerializeField] TMP_InputField inputField; [SerializeField] GameObject gameStartPanel; // 매개변수는 string만 사용 가능 public void PlayerNameInput() { tmpText.text = inputField.

kkln2486.tistory.com

 

public void UserNameInput()
{
    GameManager.I.DataManager.GameData.UserName = _userNameInputField.text;

    if(GameManager.I.ScenesManager.CurrentSceneName == "LobbySence")
    {
        _lobbyController = GameObject.FindWithTag("LobbyController").GetComponent<LobbyController>();
        _lobbyController.UserNameSetting();
    }

    _userNamePanel.SetActive(false);
}

 

 

 

회고


오늘은 로비씬의 다른 UI 기능을 추가 구현했다. 에셋에 기본적으로 다양한 형식의 UI가 되었기 때문에 제작하는데 큰 어려움은 없었다. 내일은 마지막으로 인벤토리와 상점 UI를 구현하도록 하겠다.