ざんないプログラマァのアプリ開発日記

ゲームエンジンUnityを使って何か創る

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Unity 3D セーブデータ(2) FileStream/BinaryFormatter

Unity 3D でユーザーデータなどのセーブを行う PlayerPrefs は単純でマルチプラットホームで利用可能である。しかし、複雑なデータや複数のデータに分けたい場合などはあまり有効ではない。

他に方法はないだろうか?と調べたところ、Stream を使用してシリアライズしている記事を見つけた。
値や文字列をバイナリで保存しているので「かな」「漢字」も扱える。

参考資料
シリアライズのサンプルコード
セーブするファイルパス
※残念なことに WebPlayer では非対応

シリアライズ部分のコードを見ると「キー」と「値」の対で記録している。
セーブしたファイルの中身を見てみると「キー」と「値」とがそれぞれ列挙されて記録されているようだ。

例えば下記のように記録
 info.AddValue("Name", "うに太郎");
 info.AddValue("Sex", "♀");
 info.AddValue("Age", 16);
セーブしたファイルを見ると
 ...NameSexAge....うに太郎♀16... ※←はイメージ

「キー」(文字列)と「値」どちらも記録されている・・・

一つの「値」を記録するのに、必ず対となる「キー」が必要ということは無駄に容量が増えてしまうのではないか?
例えば単語帳アプリなどの大量の学習履歴をセーブする場合などはどうするのだろ?
PlayerPrefs よりは汎用性がありそうだけど無駄に容量が増えるのは避けたいところ・・・


各プラットフォームで実行するのはなかなか面倒・・・
Windows ではコンパイル出来ても iOS ではエラーとか・・・
C/C++の学習が中途半端だからJava/C#とか混乱してくる・・・
いつになったらゲーム部分を進められるのだろうか?
  1. 2010/12/17(金) 17:37:39|
  2. セーブデータ
  3. | トラックバック:0
  4. | コメント:0
<<映画トロンのブラウザゲーム | ホーム | Unity 3D セーブデータ(1) PlayerPrefs>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://iphone3gsapplication.blog129.fc2.com/tb.php/119-a2f31794
この記事にトラックバックする(FC2ブログユーザー)

ざんないブログへようこそ!

KOH

Author:KOH
【開発環境】
Win(XP/7)/Mac Mini
Unity Pro + iOS Pro
3ds Max 2011
VS2008

【iOSアプリ】

I-C (3D puzzle) - PETITDIGI2012/09/07
I-C (3Dパズル)

I-C (3D puzzle) Free - PETITDIGI2012/09/07
I-C (3Dパズル)無料

【Androidアプリ】
I-C (3D puzzle) Free - PETITDIGI2012/11/22
I-C (3Dパズル)無料

【サイト】
・Unity 3D Selfish Training
・Unity 3D でオリジナルキャラクターを表示させる
・サイトマップ

書籍

カテゴリ

開発日記 (68)
アプリ第1弾 (37)
iPhone (16)
麻雀 (15)
Unity 3D (82)
何か作ってみよう (10)
セーブデータ (5)
開発関連 (37)
その他 Unity (28)
3ds Max (11)
体験したみた (9)
その他 3ds Max (2)
Titanium (7)
Studio (4)
iPhone (1)
Android (2)
情報 (47)
書籍 (18)
iPhone (19)
PC (2)
テレビ (4)
コンシューマ (3)
その他 情報 (1)
3.11東日本大震災 (0)
未分類 (1)

RSSリンクの表示

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。