ExtPlayerPrefs クラスを用いたプリミティブ(基本データ)型の保存・読み出し
以下は、初心者向けに「ExtPlayerPrefs クラス」を利用した整数や文字列などの基本データ型を保存・読み出しするための技術資料です。
目次
1. 概要
ExtPlayerPrefs
クラスは、Unityでゲームデータや設定データをファイルとして保存・読み出しするための便利な仕組みを提供します。この資料では、初心者向けに整数や文字列の保存・読み出し方法をわかりやすく解説します。
2. 基本的な使用例
2.1 整数データの保存と読み出し
コード例
// 整数データを保存
int score = 100;
ExtPlayerPrefs.Save(score, "score.json");
// 整数データを読み出し
int loadedScore = ExtPlayerPrefs.Load<int>("score.json");
Debug.Log($"読み込んだスコア: {loadedScore}");
ポイント
- スコアや設定値など、数値データをファイルに簡単に保存できます。
- データはJSON形式で保存されるため、テキストエディタで確認可能です。
2.2 文字列データの保存と読み出し
コード例
// 文字列データを保存
string playerName = "Hero";
ExtPlayerPrefs.Save(playerName, "playerName.json");
// 文字列データを読み出し
string loadedPlayerName = ExtPlayerPrefs.Load<string>("playerName.json");
Debug.Log($"読み込んだプレイヤー名: {loadedPlayerName}");
ポイント
- プレイヤー名やテキスト情報をファイルに保存・管理できます。
- 保存されたファイルを共有することで、設定値を外部から変更することも可能です。
3. セキュリティを高める:暗号化の利用
3.1 暗号化を使った保存と読み出し
コード例
// 保存(暗号化付き)
string secretMessage = "This is a secret!";
string password = "mypassword"; // 暗号化用パスワード
ExtPlayerPrefs.Save(secretMessage, "secretMessage.json", password);
// 読み出し(復号化付き)
string loadedSecretMessage = ExtPlayerPrefs.Load<string>("secretMessage.json", password);
Debug.Log($"復号化されたメッセージ: {loadedSecretMessage}");
ポイント
- 暗号化機能を利用することで、保存データを第三者から守ることができます。
- 暗号化・復号化には同じパスワードを使用する必要があります。
- セキュリティが必要なデータ(例: APIキー、認証情報)におすすめ。
4. 保存先の確認
保存されたファイルの場所
保存先のパスは、Unityの Application.persistentDataPath
を基準としています。プラットフォームによって保存場所が異なるため、デバッグ時に確認すると便利です。
コード例
string filePath = Application.persistentDataPath + "/score.json";
Debug.Log($"保存ファイルの場所: {filePath}");
プラットフォームごとの保存先例
プラットフォーム | 保存先パス |
---|---|
Windows | %USERPROFILE%\AppData\LocalLow\ |
Android | /data/data/<package-name>/files |
macOS | ~/Library/Application Support/ |
5. 初心者向けワンポイントアドバイス
- デバッグログで確認する
データ保存後はUnityのコンソールにログを出力して動作確認を行いましょう。
Debug.Log($"保存されたデータ: {score}");
- ファイル名は分かりやすく
保存するファイル名は用途が分かるようにしましょう(例:score.json
、settings.json
)。 - 暗号化パスワードの管理
暗号化を利用する場合、パスワードを忘れると復号化できなくなるため、注意してください。
6. まとめ
ExtPlayerPrefs
クラスを使えば、簡単にデータを保存・読み出しすることができます。以下に、本資料の特徴をまとめます:
用途 | 実現方法 |
---|---|
数値や文字列の保存 | Save<T> メソッドを使用してJSON形式で保存。 |
数値や文字列の読み出し | Load<T> メソッドを使用してデータを取得。 |
セキュリティ向上 | 暗号化オプションを利用してデータを安全に保護。 |
保存先の確認 | Application.persistentDataPath で保存場所をチェック可能。 |
活用例
- スコア管理:
int score
を保存してランキング表示に利用。 - プレイヤー設定:
string playerName
を保存してプロフィールに使用。 - 機密データ管理: パスワードやAPIキーを暗号化して保存。
ぜひ、自分のプロジェクトで試してみてください!
ディスカッション
コメント一覧
まだ、コメントがありません