エラー処理などは放り出して、先に進みます。前回のエントリーではIndexSceneで外部XMLを読み込みましたが、最初のLoading時に設定系外部XMLやらを読み込む事例は多いかと思いますので、次はPreloaderで外部ファイルを読み込んで、SceneObject等からそのデータにアクセスするのはどーすればよいのか試してみます。
まず前検証でIndexSceneに設定した外部XMLの読み込みをPreloaderに移植します。
#code-1
こんな感じでOK。
実行すると外部XMLの読み込みが終わってからIndexが展開されます。ステキ。
で、さてPreloaderで読み込んだ”myXML”を”IndexScene”の中で使用するのにはどうすればよいのでしょう?今ThunderBoldがうまく動かないので詳細は分からないのですが、DisplayObject系のインスタンス構造は以下のような感じ。
と言うことなので、StageからPreloaderへはアクセスできそうな感じですが、これ”index.fla”をコンパイルしたときには”preloade.swf”は別物なのでデータが存在しなかったりしてエラーになるかいな??preloaderっつーのは基本”index.swf”のloadingだけを処理するということなのだろうか?
もしくはpreloaderからIndexに対してInitObjectのようなものを引き渡せたりするのだろうか??
一応Staticでぶち込んでしまえば参照はできるだろうけど・・・。それってスマートなのだろうか?
ちなみに”IndexScene(SceneObject)”から”root1″の参照も良く分からなくなってきた。
ということで一時休憩。
「progression検証 #7 外部データをpreloaderで読み込んでみる(XML編)」への1件の返信
今気づいたのだけど、PrelaoderはIndexの読み込み情報しか監視してないってことなのか・・・。外部データを統合的に管理するって考えではないのね。
_onCastLoadStartに外部ファイル読み込みのコマンドを追加するとその辺の諸々の処理が終わってからindex.swfのloadingを開始している。
それはそれで問題ないのだけど、_onProgressがそれまで発動せず、bytesLoaded,bytesTotalも0のままなので、なんか一工夫しないといけない。
commandに入れなければそのまま動作しそうだけど、そうなった場合外部ファイルのloadの管理ができない?
外部ファイル読み込みはIndexとは別に切り分けるべきか・・?
なんかその辺のクラスがあるのかもしれないけど、まだ把握し切れていない・・・。