对SWF的部分更新

时间:2010-09-17 23:50:51

标签: django actionscript-3 actionscript

假设最初在客户端swf中发生的所有事情是用户单击swf文本对象中的超链接,因此这会从服务器请求“页面”。作为响应,服务器仅修改客户端浏览器中的现有swf,例如(?)调用它的公共功能,并且可能作为参数传入响应于URL请求而下载的图像或数据文件的名称。关键部分是,最初在SWF中发生的所有事情都是URL“页面”请求。这通常是否完成,如果是,如何。

1 个答案:

答案 0 :(得分:2)

单击AS3中的超链接将触发TextEvent.LINK事件,然后您可以收听此事件并在您的函数中继续调用相关服务,然后相关服务将向您发送一个响应,您可以使用该响应更新您的swf数据

查看此处的文档以获取TextEvent类 http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/

现在,这完全取决于您的链接是什么,如果它加载XML,那么您可以使用URLLoader类来加载XML数据

 private function init():void
 {
     var tf:TextField = new TextField();
     tf.htmlText = "<a href='http://example.com/data.xml'>Update Data</a>";
     tf.addEventListener(TextEvent.LINK, clickHandler);
     addChild(tf);
 }

 private function clickHandler(e:TextEvent):void 
 {
    trace(e.type); // link
    trace(e.text); // http://example.com/data.xml

    var loader:URLLoader = new URLLoader();
    loader.addEventListener( Event.COMPLETE , dataLoaded );
    loader.load( new URLRequest( e.text ) );
 }

 private function dataLoaded(event:Event):void
 {
    trace( event.target.data );// xml content
    //from here you can then parse the XML & update your swf
 }