inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

유니티 2D RPG 게임 만들기

8로그인 기능_찾기기능

MemberShip 계정 개수를 늘리고 싶어요

405

한열

작성한 질문수 2

0

강의 내용대로 하면 하나의 계정은 잘 만들어져요

근데 두 번째 계정을 만들면 처음 계정이 삭제되는 듯 하네요

계정을 두 개 만들고 싶으면 어떻게 하나요?

unity rpg unity2d

답변 2

1

한열

기존의 아이디와 다른 이름으로 만들었지만

해결되지 않네요(처음 만든 아이디는 삭제되고 두 번째 만든 아이디만 로그인 됨)

스크립트에 "playerprefs.delete all"도 없습니다

코드에 문제가 있는지 확인 부탁드립니다!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // UI 오브젝트 관여
using UnityEngine.SceneManagement;

//1.회원가입, 로그인, 아이디 찾기 기능 구현
//로그인 성공 -> 캐릭터 선택 창
public class StartManager : MonoBehaviour
{
    //접근제한 지정자 
    //1.public -> 외부공개
    //2.private -> 내부공개
    //3.protected -> 자식에게만 공개

    //접근제한지정자,자료형,식별자;

    [Header("MemberShip")]
    public GameObject MemberShip_UI;
    public Text M_ID_Text; //아이디를 입력하는 텍스트
    public Text M_Password_Text; //비밀번호를 입력하는 텍스트
    public Text M_Find_Text; //비밀번호를 입력하는 텍스트

    [Header("Login")]
    public GameObject Login_UI;
    public Text I_ID_Text; //아이디를 입력하는 텍스트
    public Text I_Password_Text; //비밀번호를 입력하는 텍스트
    public GameObject NotLogin_UI; //로그인 실패 UI
    public Text NotLogin_Text; //로그인 실패 원인 알림


    [Header("Find")]
    public GameObject Find_UI;
    public Text FindText;
    public GameObject Not_UI_Find;
    public Text Not_text;



    public void MebShip_Btn()
    {
        PlayerPrefs.SetString("ID", M_ID_Text.text); //아이디 입력
        PlayerPrefs.SetString("Password", M_Password_Text.text); //비밀번호 입력
        PlayerPrefs.SetString("Find", M_Find_Text.text); // 힌트 입력

        MemberShip_UI.SetActive(false); //회원가입 UI 비활성화 
        
    }

    public void Login_Btn()
    {
        //1. 아이디 불일치
       if(PlayerPrefs.GetString("ID") != I_ID_Text.text)
        {
            Login_UI.SetActive(false);
            NotLogin_UI.SetActive(true);
            NotLogin_Text.text = "아이디가 일치하지 않습니다";
     
        }


        //2. 비밀번호 불일치
        if (PlayerPrefs.GetString("Password") != I_Password_Text.text)
        {
            Login_UI.SetActive(false);
            NotLogin_UI.SetActive(true);
            NotLogin_Text.text = "비밀번호가 일치하지 않습니다";
        }


        //3. 아이디, 비밀번호 불일치
        if (PlayerPrefs.GetString ("ID") != I_ID_Text.text &&
            PlayerPrefs.GetString("Password") != I_Password_Text.text)
        {
            Login_UI.SetActive(false);
            NotLogin_UI.SetActive(true);
            NotLogin_Text.text = "아이디와 비밀번호가 일치하지 않습니다";
        }

        //4. 로그인 성공
        if (PlayerPrefs.GetString("ID") == I_ID_Text.text &&
           PlayerPrefs.GetString("Password") == I_Password_Text.text)
        {
            SceneManager.LoadScene("Select");
        }
        
        //Invoke("함수명", 시간);
        Invoke("NotLogin_Exit", 2f);
    }


    private void NotLogin_Exit()
    {
        NotLogin_UI.SetActive(false);
    }


    public void FindBtn()
    {
        Find_UI.SetActive(false);
        Not_UI_Find.SetActive(true);

        if (PlayerPrefs.GetString("Find") == FindText.text) 
        {
            Not_text.text = PlayerPrefs.GetString("ID")+ "\n" + PlayerPrefs.GetString("Password");
        }
        else
        {
            Not_text.text = "잘못된 힌트입니다";
        }

        Invoke("Not_UI_Exit", 2f);
    }

    private void Not_UI_Exit()
    {
        Not_UI_Find.SetActive(false);
    }
    

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        Debug.Log(PlayerPrefs.GetString("ID")); // Get : 내용확인
        Debug.Log(PlayerPrefs.GetString("Password"));
        Debug.Log(PlayerPrefs.GetString("Find"));
    }
}

1

코사트

해당 강사님께 요청해서 답변을 받았습니다.

 

계정을 두개 만들려면

기존에 있는 아이디와 다른 이름으로 만들어서 하면은

또 다른 데이터 값이 들어가서 계정이 2개 만들어집니다

그 기존에 playerprefs.delete all 이부분이 있으면 주석 처리 해주시면 됩니다!

섹션7 수업자료 업로드 부탁드립니다.

0

10

2

Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의

0

14

1

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

0

34

2

03-01 (16. CharacterController)

0

28

2

TLS 질문드립니다.

0

41

2

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

0

24

2

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

0

46

2

픽셀 좌표 스크린 좌표

0

32

0

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

0

23

1

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

0

40

2

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

0

38

1

BaseUI, UIManager

0

48

3

프로젝트 완성본 문의

0

39

2

Unity Span

0

75

2

씬 배치 구조에서 Addressables를 어떻게 적용해야 하는지 궁금합니다.

0

53

1

39. Main화면 추가 UI 에서 자료는 어디서 받나요??

0

34

1

Scene 전환에서

0

25

1

Session11의 3강의 질문

0

126

3

섹션4에서 Exp_Slider 연동하는 강의 내용이 없습니다.

0

203

1

하늘 배경 머티리얼 제거 방법은?

0

392

2

강의 순서가 바뀌어 있습니다.

0

306

2

3강 4 움직임, 점프 질문

0

316

2

강의 순서가 바뀌어 있습니다.

0

260

1

5강에서 6강 넘어갈 때 그 사이의 내용들은 어디 있는 건가요?

1

283

2