Notice
Recent Posts
Archives
04-30 09:28
반응형
관리 메뉴

Tegi Log : 블록체인, 축구, 소레어, Sorare 컨텐츠망상공간

유니티(Unity C#) : PlayerPrefs 활용해서 데이터 저장하고 불러오기 본문

Development/Unity

유니티(Unity C#) : PlayerPrefs 활용해서 데이터 저장하고 불러오기

Tegi 2022. 7. 27. 14:38
반응형
💡 PlayerPrefs를 이용해서 데이터를 저장하고 불러와보자.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

//PlayerPrefs.
// [쓰기(세팅)]
//SetString(); 키를 지정해서 string 타입의 값을 저장
//SetInt(); 키를 지정해서 int 타입의 값을 저장
//SetFloat(); 키를 지정해서 float 타입의 값을 저장

// [검사]
//HasKey(); 해당 키가 존재하는지 검사 bool타입으로 반환해줌.

// [읽기(로딩)]
//GetString(); 지정한 키의 String 타입 값을 읽어옴.
//GetInt(); 지정한 키의 int 타입 값을 읽어옴.
//GetFloat(); 지정한 float 타입 값을 읽어옴.

// [컨트롤]
//DeleteKey(); 지정된 키와 값을 제거한다.
//DeleteAll(); 저장되어 있는 모든 키와 데이터를 제거한다.

//Save(); 변경된 모든 키값을 물리적인 저장공간에 저장.
//각 저장할 시점들, 혹은 게임종료 전에 호출하면 기기의 디스크에 저장시킬 수 있다.

public class PPtest : MonoBehaviour
{
    public InputField inputId;
    public InputField inputName;
    public InputField inputDamage;

    public void Save(){
        PlayerPrefs.SetInt("Id",int.Parse(inputId.text)); //parse형변환
        PlayerPrefs.SetString("Name", inputName.text);
        PlayerPrefs.SetFloat("Damage",float.Parse(inputDamage.text)); //parse형변환
    }

    public void Load(){
        if(PlayerPrefs.HasKey("Id")){
            inputId.text = PlayerPrefs.GetInt("Id").ToString();//ToString()형변환
            inputName.text = PlayerPrefs.GetString("Name");
            inputDamage.text = PlayerPrefs.GetFloat("Damage").ToString();
        }
    }
}

UI를 만들어두었다. 각 InputField에 연결해서 실행해보자.

이런식으로 적으면

 

이렇게 저장되는것을 볼 수 있다.

게임을 끄고 실행해도 남아있는 모습을 확인할 수 있다.

반응형
Comments