facebook twitter hatena line email

「Unity/Csharp/端末変数保存」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(editer上のデータ削除)
(editer上のデータ削除)
 
(同じ利用者による、間の3版が非表示)
行56: 行56:
  
 
==editer上のデータ削除==
 
==editer上のデータ削除==
Editor/Clear All PlayerPrefs
+
Unityメインメニュー/Edit/Clear All PlayerPrefs
  
 
参考:https://pandoraxssscan-929.hatenablog.com/entry/2020/09/06/223037
 
参考:https://pandoraxssscan-929.hatenablog.com/entry/2020/09/06/223037
  
==getsetで作る場合==
+
==getとsetの場合==
 
<pre>
 
<pre>
 
string viewCntKey = "viewCntKey";
 
string viewCntKey = "viewCntKey";
行69: 行69:
 
     set { PlayerPrefs.SetInt(viewCntKey, value); }
 
     set { PlayerPrefs.SetInt(viewCntKey, value); }
 
}
 
}
 +
ViewCnt = 1; // 設定
 +
Debug.Log(ViewCnt); // 取得
 
</pre>
 
</pre>
 +
 +
==Editorで削除==
 +
Unityメインメニュー/Edit/ClearAllPlayerPrefs

2024年8月27日 (火) 11:00時点における最新版

保存/取得

保存

PlayerPrefs.SetInt(string key, int num);
PlayerPrefs.SetFloat(string key, float x);
PlayerPrefs.SetString(string key, string str);

取得

int num = PlayerPrefs.GetInt(string key, int default);
float x = PlayerPrefs.GetFloat(string key, float default);
string str = PlayerPrefs.GetString(string key, string default);

PlayerPrefsにBoolはないので作る

   public static bool GetBool(string key, bool defalutValue){
       var value = PlayerPrefs.GetInt(key, defalutValue ? 1 : 0);
       return value == 1;
   }
   public static void SetBool(string key, bool value){
       PlayerPrefs.SetInt(key, value ? 1 : 0);
   }

参考:http://smartgames.hatenablog.com/entry/2016/08/22/010140

PlayerPrefsにdoubleがないので作る


    // double start
    public static void SetDouble(string key, double value)
    {
        PlayerPrefs.SetString(key, DoubleToString(value));
    }
    public static double GetDouble(string key, double defaultValue)
    {
        string defaultVal = DoubleToString(defaultValue);
        return StringToDouble(PlayerPrefs.GetString(key, defaultVal));
    }
    public static double GetDouble(string key)
    {
        return GetDouble(key, 0d);
    }

    private static string DoubleToString(double target)
    {
        return target.ToString("R");
    }
    private static double StringToDouble(string target)
    {
        if (string.IsNullOrEmpty(target))
            return 0d;

        return double.Parse(target);
    }
    // double end

参考:https://forum.unity.com/threads/saving-a-double-with-playerprefs.89879/

editer上のデータ削除

Unityメインメニュー/Edit/Clear All PlayerPrefs

参考:https://pandoraxssscan-929.hatenablog.com/entry/2020/09/06/223037

getとsetの場合

string viewCntKey = "viewCntKey";
int viewCntDefault = 0;
public int ViewCnt
{
    get { return PlayerPrefs.GetInt(viewCntKey, viewCntDefault); }
    set { PlayerPrefs.SetInt(viewCntKey, value); }
}
ViewCnt = 1; // 設定
Debug.Log(ViewCnt); // 取得

Editorで削除

Unityメインメニュー/Edit/ClearAllPlayerPrefs