inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Tạo trò chơi nhập vai Unity 2D

8Tính năng đăng nhập_Tính năng tìm kiếm

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

407

nmaeng1973

2 câu hỏi đã được viết

0

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

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

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

unity rpg unity2d

Câu trả lời 2

1

nmaeng1973

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

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

스크립트에 "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

kosart

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

 

계정을 두개 만들려면

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

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

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

클로드코드 + 유니티 컨텐츠만들기 응용에 대하여 질문드립니다.

0

16

1

매니저 관련 질문이 있습니다.

0

27

2

Instantiate

0

25

1

유니티 허브 다운로드

1

32

2

비쥬얼 스튜디오에서 unity연결이 없습니다.

0

50

2

UserDataManager 클래스 hasSaveError 처리

0

31

2

제공해주신 자료에 스크립트들이 빠져있습니다

0

27

2

플레이어를 왜 ECS로 만드는 건가요?

0

33

1

싱글턴패턴

0

32

2

코드 관련 질문

0

32

2

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

0

38

2

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

0

25

1

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

0

50

2

03-01 (16. CharacterController)

0

39

2

TLS 질문드립니다.

0

57

2

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

0

34

2

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

0

57

2

Session11의 3강의 질문

0

129

3

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

0

204

1

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

0

392

2

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

0

306

2

3강 4 움직임, 점프 질문

0

317

2

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

0

261

1

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

1

283

2