2009年3月26日木曜日

読み込んだswfの_root

これ散々悩みましたが、
読み込む処理の後に、
_lockroot = true;
で解決した。

しかし、その後非常に重くなったのであまりよくないのかな?
「_lockroot 重くなる」などで調べても何も出てきませんでした。

別な策で、
読み込まれるswfの構造に工夫をして
_root.root_objを_rootのつもりにして、全てをroot_objの中で簡潔させる。

読み込み先のムービークリップを
load_objとしたら、

_root.load_obj.root_obj

ってなるようにする。

以下のようにしておけば、呼び出されているのかどうかで_rootを書き換えられるだろう。

function rootObj() {
if(_root.load_obj){

return eval(”_root.load_obj.root_obj”);

}else{

return eval(”_root.root_obj”);




例え)_rootの_visibleを制御する場合
rootObj()._visible = false;

flashのローディングに関して

flashで_rootをローディングする際、
その処理を_rootのタイムラインに書いてしまうとうまくいかないようだ。
よく、「30%まで何も表示されないんですが」なんて質問は
リンケージの「最初のフレームに書き出し」と、これが問題なんじゃないかと。


_root.loading:MovieClipを作成して、
_root.loadingのタイムラインにローディングの処理を書くとうまくいきました。

_rootが_rootのローディングをするってのがおかしかったのか・・・

とりあえず、
_rootにムービークリップを作成して、
客観的にロードしなさいよとすれば問題なかったので、これでよし。