箱庭ノベルズII ver0.60
ついに、箱庭ノベルズIIにセーブ機能追加!
と大々的に言いたいところですが、試験運用という感じでスタートします。
全フラグ値、現在表示されている画像・エフェクト、シナリオの進行状況
その全てを正確に保存する必要のあるセーブ機能は、
その性質上複雑な処理のため、
特定の条件下ではうまく機能しない可能性があります。
もし、セーブしたけどおかしい、ということがありましたら、
・どの作品で
・どのあたりでセーブして
・具体的にどうおかしいか
など、できるだけ詳細にご連絡いただけるとうれしいです。
ちなみに技術的な話をすると、データ保存には
flashのSharedObject(以下SO)を使っています。
最初はCookieを考えていたのですが、
保障される変数が20個、サイズも各4kbと、
変数の値にマルチバイトも使える箱庭ノベルズでは、微妙に不安。
その点、SOは基本100kbほど、
ユーザー指定で無制限にもできます。
またCookieはブラウザごとなのに対し、SOはマシンごと。
IEとFirefox乗り換えても問題なし。
あとはネットワーク介さずローカルで完結できるとか・・
この辺メリット薄めだけど(笑
マルチバイトは、IEなどはエンコードせずに
ダイレクトでflashvarsに渡しても大丈夫でしたが、
SafariやOperaなど、ブラウザによってはダメなので、
やはりエンコードしとくのが無難。
とりあえずjavascript側でencodeURI。
が、それをそのまま渡すと、結局flash内部でデコードされてしまうので、
encodeURI(mb_vars).replace(/%/g, '|')
みたいに置き換えて保存させてみました。
逆にロードするときは、内部で
decodeURI(mb_vars.replace(/\|/g, '%'))
みたいな。
encodeURIは自動でutf-8になるようで、かなり容量食うんですけどね。
トラックバックURI
http://blog.hakoniwa.net/archives/224/trackback/
