2011-07-15
セーブ機能・ロード機能
UnityGames(http://unity-games.appspot.com)のサイト上にUnityでプレイしたゲーム情報を
保存する機能を追加いたしました。
まだα版ですがご報告です。
サンプルゲーム
使い方
DataManagerを操作してセーブやロードを行います。
1.シーンの1番目にPrefabのDataManagerオブジェクトを配置してください。
2.セーブ・ロードを行うには各ゲームに発行されているSaveID・LoadIDが必要になります。IDを確認するにはゲームの登録・変更画面で確認が可能です。
ゲーム登録前にもSaveID・LoadIDは発行されますが仮発行状態なので登録画面のリロードなど注意してください。
セーブタイプ
現在Privateセーブ、Publicセーブがあります。
セーブの仕方
C#の場合
private DataManager dm; void Start () { //データを管理するコンポーネントを追加 dm = gameObject.AddComponent<DataManager> (); } void OnGUI() { if (GUILayout.Button ("Save")) { //投稿する前のUnity上でテストを行いたい時に使用します //Test("UserID")のように特定のUserIDもセットできます dm.Test (); //実際にUnityGamesに投稿するときには //UnityGamesで各ゲームに発行されるSaveIDをセットします //dm.SetSaveID("各ゲームのSaveID"); //keyとvalueを設定(例:dm.AddField("name","UnityGames");) dm.AddField ("name", nameStr); dm.AddField ("comment", comment); //saveTypeを指定しない場合はprivateでセーブされます。publicセーブはSave("public"); dm.Save (); } }
JSの場合
ほとんど同じです。サンプルをご覧ください。
現在セーブデータはユーザー1人につき各ゲーム1つしかセーブできません。上書きとなります。
ロードの仕方
C#の場合
private DataManager dm; void Start () { //データを管理するコンポーネントを追加 dm = gameObject.AddComponent<DataManager> (); } void OnGUI () { if (GUILayout.Button ("Load")) { //投稿する前のUnity上でテストを行いたい時に使用します //Test("UserID")のように特定のUserIDもセットできます dm.Test (); //実際にUnityGamesに投稿するときには //UnityGamesで各ゲームに発行されるLoadIDをセットします //dm.SetLoadID("各ゲームのLoadID"); // void Load(string callback) // void Load (string loadType, string callback) // callback関数名を指定してください // saveTypeを指定しない場合はprivateでロードされます。publicロードはLoad("public","callback関数名"); dm.Load ("Call"); } } //callback関数として呼ばれます //void callback関数名 (Hashtable json) void Call (Hashtable json) { j = json; load = true; }
JSの場合
ほとんど同じです。サンプルをご覧ください。
また別のゲームへセーブしたい、別のゲームからロードしたいという扱い方も出来ます。セーブ時、ロード時にSetGameIdを呼び出します。IDは保存先・ロード元のIDを使用します。
dm.SetGameId ("ロード元のゲームID");
2011/08/17 追記
最新Verからセーブデータ名を設定できるようになりました。
DataManagerのSetSaveNameに引数を渡しセットしてください。
これにより「セーブデータ名が〇〇でpublicのセーブデータを取り出す」
のようなことが出来、実質無限にセーブ枠を持つことが出来ます。
詳しいことは@UGamesにご連絡ください
- 23 http://unity-games.appspot.com/function
- 17 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CBgQFjAA&url=http://d.hatena.ne.jp/anchan828/20110307/1299517425&rct=j&q=自分のツイートを表示 status&ei=AvUgTv_
- 12 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CBkQFjAA&url=http://d.hatena.ne.jp/anchan828/20110118/1295371325&rct=j&q=Raycast &ei=7E8_TtrsK-3SiALQ2YWICA&usg=AFQjCNEC94FqouOc88QxlegEug9APtU4rQ
- 8 http://d.hatena.ne.jp/sugumura/
- 6 http://www.google.co.jp/url?sa=t&source=web&cd=2&ved=0CB8QFjAB&url=http://d.hatena.ne.jp/anchan828/20110118/1295371325&rct=j&q=Unity カメラ 切り替え&ei=zUgoTu-yL6PomAXoiO3QBg&usg=AFQjC
- 5 http://www.google.co.jp/
- 5 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=Unity+byte キャスト
- 5 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4ADRA_jaJP419JP421&q=Physics.Raycast
- 4 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=Physics.Raycast
- 4 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=twitter4j+依存&qscrl=1

