■吉里吉里/KAG/TJS雑談質問スレ■その20at GAMEDEV
■吉里吉里/KAG/TJS雑談質問スレ■その20 - 暇つぶし2ch758:749
10/04/21 23:35:53 q7lOQUk4
var layer = new Layer(kag, kag.fore.layers[0]);
このlayer変数を単にスクリプトで扱うだけなら、面倒も何もない。

さて、layerオブジェクトを保存/復元してみようとする。(描画内容とかは考えない)
位置やサイズ等の情報は問題ない。DictionaryでもXMLでも書き出してやるだけだ。
では親子関係はどうする?

1.完全な(デ)シリアライズのためには親や子のレイヤの情報も再帰的に書き出す必要がある。
しかしそれには問題がある。
・プライマリでない限り、レイヤは普通KAGの管理するレイヤの子になる。
・また、どこかで別のプラグインの生成したレイヤが兄弟になる場合もある。
 →これら、別に独自管理されているレイヤの情報を、シリアライザが加工するのは望ましくない。

2.では、親子のレイヤにはシリアライザは干渉しないものとする。
しかし、これでは復元の際に問題が出る。
Layerは常に「Windowオブジェクトに属し」「Layerオブジェクトの子(またはプライマリ)」でなければならない。
最初の例でいえば、kag、kag.fore.layers[0] といったオブジェクト。
これらのインスタンスを、復元時にシリアライザはどこから持ってくるのか。
そもそも、復元時にこれらのインスタンスそのものが存在するという保証すらない。

なんてことを考えると頭が痛すぎる。
なっ面倒だろう。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch