inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

책 3권을 영상으로 만든 Unity 게임 개발

유저 정보 나타내기

섹션5-11

해결된 질문

78

지인수

작성한 질문수 1

1

유저데이터로드와 유저레지스터를 이렇게 수정했는데 상관없나요?

수업에 나온 그대로 코드를 입력했는데 유닛 123도 같이 비활성화되서요ㅠㅠ

일단은 123활성화 45비활성화는 되는데 코드가 너무 달라진 것 같아서 질문드립니다.

using UnityEngine;
using UnityEngine.UI;

public class UserDataLoad : MonoBehaviour
{
    [SerializeField] Text UserNickNameText;
    [SerializeField] Button[] CharBtns;

    int[] CharNum;

    void Start()
    {
        CharNum = new int[5];

        // 유닛 데이터 불러오기 (Unit1~Unit3 기본값 1, Unit4~Unit5 기본값 0)
        for (int i = 0; i < 5; i++)
        {
            CharNum[i] = PlayerPrefs.GetInt("Unit" + (i + 1), (i < 3 ? 1 : 0)); // Unit1~Unit3 기본값 1, Unit4~Unit5 기본값 0
        }

        // 버튼 활성화 상태 설정
        UpdateButtonStates();
    }

    void Update()
    {
        // 닉네임 업데이트
        UserNickNameText.text = PlayerPrefs.GetString("UserNickName");
    }

    void UpdateButtonStates()
    {
        for (int i = 0; i < 5; i++)
        {
            CharBtns[i].interactable = (CharNum[i] == 1);
        }
    }
}

 

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class UserRegister : MonoBehaviour
{
    [SerializeField] InputField NickNameInput;

    string NickName;

    public void OnClickRegister()
    {
        NickName = NickNameInput.text;

        // 사용자 정보 저장
        PlayerPrefs.SetString("UserNickName", NickName);
        PlayerPrefs.SetInt("Coin", 1000);
        PlayerPrefs.SetInt("Level", 1);
        PlayerPrefs.SetInt("WinCount", 0);

        // 유닛 활성화 상태 저장
        PlayerPrefs.SetInt("Unit1", 1);
        PlayerPrefs.SetInt("Unit2", 1);
        PlayerPrefs.SetInt("Unit3", 1);
        PlayerPrefs.SetInt("Unit4", 0);
        PlayerPrefs.SetInt("Unit5", 0);

        PlayerPrefs.Save();

        // 다음 씬으로 이동
        SceneManager.LoadScene("User Scene");
    }
}

C# unity

답변 1

0

JEngineer

질문 감사드립니다!

 

주신 코드대로 수정하셔도 정상적으로 작동이 된다면 문제가 되는 부분이 아니며 코드 가독성 면에서 더 최척화된 코드로 보입니다!

 

그리고 해당 기능에 대한 코드는 검토를 한 후에 문제가 있을 시 수정하도록 하겠습니다! 감사합니다!

소스를 받을 수 있는 링크가 있을까요?

0

50

2

프로덕션 부분 사용 불가

0

61

2

접근지정자

0

58

2

섹터2 5강 Authconfig 문의

0

41

1

in-app purchasing 버튼의 install 버튼이 비활성화되어있을때 어떻게 해결해야하나요 ?

0

48

2

유니티 제외 설치한 프로그램들 및 파일 삭제 방법

0

48

1

깃허브에서 콤피유아이 매니저 설치하는게 안됩니다.

0

65

2

5강, 오류 수정과 관련해서

0

63

2

컴퓨터를 껐다가 클로드 코드 다시 키는 방법 알려주세요.

0

54

1

MA-POCA 알고리즘 응용 질문

0

42

1

Pivot을 마우스로 클릭하고 드래그해도 움직이 않아서 혹시 아시는 부분이 있나 해서 문의 남깁니다.

0

39

1

클로드에 텍스트 없이 이미지만 보낼경우 에러가 생깁니다

0

67

2

클로드 코드 API 요금관련 질문

0

84

1

카메라가 많아지면 렌더링 비용이 커지나요?

0

39

1

3:56에 폰트 불러온 과정이 궁금합니다 ㅠㅠ

0

65

3

19강 15_2) 템블릿에 List가 없는경우는 어떻게 해야되나요?

0

43

1

SuperDefender 구매오류

0

100

2

승리수가 안 올라갑니다

1

97

2

Knight구매시 오류

1

199

2

OnTriggerEnter2D에서 문제가 생겼어요

1

252

2

에너미 이동 질문

1

143

2

유닛 리지드바디 질문

1

136

2

애니메이션 질문

1

133

1

닉네임 텍스트에 이름 기입은

1

153

1