0

これが私が解決策を見つけるのに失敗した私の問題です。xmlファイルになりたいと思っていたものからプルするフラッシュメニューをいくつか作成していますが、作成するクライアントには世界最速のデータベースがないため、ページがフラッシュをロードするときに、それでも時間がかかりますしばらくの間、xmlをロードします。ビューアはすでにページのロードを待機しており、ページが再びロードされるのを強制的に待機するため、これは望ましくありません。フラッシュが読み取れるように、ページとxmlを一緒にロードする方法を見つけようとしています。フラッシュ変数を調べましたが、特殊文字がhtmlを壊すため、xmlドキュメント全体を含むように設定されているようには見えません。これは、xmlではなくすべてのパラメーターを作成できなかったのと同じ理由です。

誰かがxmlをページにロードする方法、またはrssのような情報をフラッシュに取得してフラッシュにコンテンツがすぐに含まれるようにする別の方法を知っていますか?

4

1 に答える 1

0

コーディング環境は?クライアントのデータベースとフラッシュの読み込み時間が遅いことを指していますが、これは実際には関係ありません。Flash がデータベースからロードするデータは?

XML をできるだけ速くロードする方法の 1 つは、なんらかの形式のプリローダー ムービーを使用することです。このムービーには 2 つの機能があります。
- 1 XML データの
読み込み - 2 MainMovie の読み込み

この最初のムービーは、グラフィック アセットを最小限に抑えることができるため、非常に高速にロードされます。つまり、メインの SWF がロードされていることをユーザーに知らせる単純なプログレス バー/メッセージです。

メイン ムービーの読み込み中に、XML データを取得して解析し、結果のデータを読み込んだ SWF に割り当てることができるようにする必要があります。

要約版は次のとおりです。

     //Preloader
     private var menuData:Object;

     public function Preloader()
     {
           loadXMLData();
           loadMainMovie();
     }

     private function loadXMLData():void
     {
         var loader:URLLoader = new URLLoader(); //etc...
     }

     private function xmlLoaded( event:Event ):void
     {
         menuData = parseXMLData( event.target.data );
         //remove listener
     }

     private function loadMovieComplete(event:Event ):void
     {
         var main:MovieClip = event.currentTarget.content as MainClass;

         if( menuData != null )
         {
             main.menuData = menuData;
             addChild( main );

         }else{

            //if your XML takes more time to load than your MainMovie
            //you may have to reconsider your options!
            //in any case you could add a listener here
            //to check when the xml load is complete
         }
         //remove listener
     }
于 2011-01-13T04:26:53.270 に答える