読者になるくらげになりたい。くらげのようにふわふわ生きたい日曜プログラマなブログ。Unityで共通データ(ScriptableObjectとPlayerPrefs)2014-10-05Unityで共通データ(ScriptableObjectとPlayerPrefs)unityゲームを作っていると複数のシーンから共通のデータを参照/更新したい再起動してもデータが消えないよう永続化したいという欲望にぶち当たる。調べてみると、1はScriptableObjectで、2はPlayerPrefsというやつで実現するそうだ。複数のシーンから共通のデータを参照/更新したい(ScriptableObject)ScriptableObjectはゲームの起動から終了までの間で利用できる共通データオブジェクトらしいWebアプリとかのセッションオブジェクトみたいな感じ?という認識です使うためには、.assetファイルを作る必要があるのだが、ScriptableObjectを継承したクラスからassetを作るスクリプトが公開されている。tsubakiさんに感謝!!ScriptableObjectを使う準備CreateScriptableObjectPrefub.csのインストールする上記のgithubよりスクリプトをコピーして、Assets/Editor配下に配置ScriptableObjectを継承したクラスを作成するScriptableObjectを継承したクラスを作り、共用したい変数をフィールドとして定義。作ったクラスは、Assets/Resources配下に配置するスコアとレベルを保存したい場合のクラス(PlayData)は下記な感じ。ScriptableObject」というメニューがあるので、クリック「PlayData.asset」が「PlayData.js」と同じ場所に作成される。使い方の例は下記の通り。"Level1";再起動してもデータが消えないよう永続化したい(PlayerPrefs)PlayerPrefsはセーブデータみたいに、ゲームを終了しても保存されるデータを扱うためのUnityの機能らしい。他にもXMLやJSONファイルを自前で読み書きしたりする方法もあるらしいが、お手軽なのがいいところ。使ってみると、単なるキーバリューストアっぽい感じScriptableObjectみたいに準備は特に不要。PlayerPrefsの使い方いつくかの例は下記な感じ。keyが存在するかの確認。Booleanが返ってきます。該当のkeyを削除PlayerPrefs.DeleteKey(key);全貌はAPIリファレンスを参照してください。Tumblr関連記事2022-04-18Flutterのfreezedパッケージでimmutableなオブジェクトを楽に扱うFlutterのfreezedパッケージを調べたときの備忘録。Classesが追加されたよう。iOSでリリース&AppleID認証のための証明書を用意するリンク合同会社めもらばプライバシーポリシーお問い合わせ利用規約はてなブログをはじめよう!wannabe-jellyfishさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?はてなブログをはじめる(無料)はてなブログとはくらげになりたい。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。