Unityでlong型をplayerprefsで保存するにはどうすればいいですか?
現在お金を貯めるクリッカーゲームを作っているのですが、
intは保存できるんですが、21億らへんが限界なのでLong型にしてみたいと思ってます。
ですが、PlayerPrefs.SetLong("key",0);だとできません( ;∀;)
String float Int の三種しかないのはわかりますが、どうすればいいですか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
横から失礼します。
保存するときは前に回答してくださっている人のままですが
取り出すときは
C#
1using System; 2 3 public long GetLong(string key) 4 { 5 return Convert.ToInt64(PlayerPrefs.GetString(key)); 6 } 7 8 public long GetLong(string key , long init) 9 { 10 if (PlayerPrefs.HasKey(key))//exist 11 return Convert.ToInt64(PlayerPrefs.GetString(key)); 12 return init; 13 } 14
でいけると思います。
投稿2018/08/10 07:55
総合スコア299
0
ベストアンサー
longをToStringで文字にして保存してはどうでしょう?
戻す時はlong.Parseで
投稿2018/08/10 01:16
編集2018/08/10 01:19総合スコア10553
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
例えば、
public String money;で、
void UpdateにLong.Parse(money);にすればString型のmoneyはLong型になるんですか?
例えば
long money;
とあったときにmoneyを保存したいということですよね
保存する時に
string savemoney = money.ToString();
と文字列にし、PlayerPrefsでsavemoneyを保存します。
それで、保存したものをロードする際は
money = long.Parse(ロードした文字列);
とすればいいのではないかと
了解です!
保存するときというのは、
void Update() }
string savemoney = money.ToString();
PlayerPrefs.SetString("Money",savemoney);
}
こんな感じでよろしいのでしょうか?
なぜか Input string was not in the correct formatと表示されてしまいます( ;∀;)
そのエラーが出るのは、ロード時でしょうか?
もし、ロード時なのであれば、long.Parseで失敗しているということだと思いますので、TryParseで判断するなど、読み込んだ値がlongに変換できるかチェックしてください。
そうです!
TryParseはどうやって使うのですか?
質問多くてすみません!
できれば、ご自身で検索するなりして調べていただきたいですが、
if(long.TryParse(ロードした文字列,out money))
{
// 成功
} else {
// 失敗
}
というような形になるかと
TryParseで確認してみたところ、long.Parseで失敗していました( ;∀;)
必ず失敗するのか、セーブデータがない場合のみ失敗するのかで対応が変わってくるかと思います。
必ず失敗するのであれば、ロードした時におかしいのか、セーブした値がおかしいのかになるかと思いますので、値を確認してください。
保存されていない時のみ起こるのであれば
PlayerPrefs.GetString("money", "0");
という感じで、初期値を変換できる初期値としてください。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/10 09:54
2018/08/10 10:01
2018/08/10 10:08
2018/08/10 10:11