0

这是我一直试图找到解决方案但没有成功的问题。我正在构建一些 Flash 菜单,这些菜单将从我希望成为 xml 文件的内容中提取出来,但是我正在为其构建它的客户端没有世界上最快的数据库,所以当页面加载 flash 时,它仍然需要一段时间来加载 xml。这是不可取的,因为查看者已经等待加载页面,现在他们被迫等待它再次加载。我正在尝试找到一种方法将页面和 xml 一起加载以使 flash 能够读取。我已经探索过 flash vars,但它看起来不像是设置为包含整个 xml 文档,因为特殊字符会破坏 html,这也是我无法将其全部设为参数而不是 xml 的原因。

有谁知道让页面加载 xml 的方法,或者将类似 rss 的信息放入 flash 的另一种方法,以便 flash 立即拥有它的内容?

4

1 回答 1

0

你的编码环境是什么?您指的是客户的数据库和闪存加载时间缓慢,这不应该真正相关。Flash 从数据库中加载哪些数据?

让您的 XML 尽快加载的一种方法是使用某种形式的预加载器影片。这部电影有两个功能:
- 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 回答