inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

유저 정보 나타내기

섹션5-11

해결된 질문

64

지인수

작성한 질문수 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

32

1

UI 기능 관련 질문이 있습니다!

0

24

2

03-01 (16. CharacterController)

0

23

2

TLS 질문드립니다.

0

35

2

Task 구현 28:36 Equals 에서 잘 모르는 부분이 있습니다.

0

20

2

SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.

0

39

2

픽셀 좌표 스크린 좌표

0

26

0

Locomotion랑 Turn 이 꼭 부모 자식 관계일 필요가 있나요?

0

19

1

Rider대신 VS를 써도 괜찮나요?

0

102

2

Claude Code Pro구독하고 있는 상태에서 크레딧 결제, 사용문의

0

158

2

LobbyUIController의 백키가 사라졌는데 왜그런건가요?

0

38

2

무조건 타이틀 씬부터 시작해야하나요?

0

35

1

BaseUI, UIManager

0

43

3

토큰 사용량 및 인증 관련해서 질문드립니다.

0

120

2

OAuth 방식 문의

0

98

2

프로젝트 완성본 문의

0

37

2

SuperDefender 구매오류

0

71

2

승리수가 안 올라갑니다

1

74

2

Knight구매시 오류

1

168

2

OnTriggerEnter2D에서 문제가 생겼어요

1

225

2

에너미 이동 질문

1

124

2

유닛 리지드바디 질문

1

118

2

애니메이션 질문

1

106

1

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

1

131

1