学学习网 手机版

学学习网

学习路径: 学习首页 > 应用开发 > AS3 >

第十二节 URLLoader与后台交互

设置字体:
----------------------------------
上一节中,我们讲到了加载文件,用Loader这个类我们可以加载swf以及图形文件,如果我们要加载txt文件或者xml文件,那么我们就要用到URLLoader,其实使用的方法和Loader类没有太大的区别.
 我们还是建立一个FLA文件,顺便在同一目录下建一个TXT文件,取名叫cfg.txt,在里面打上一点内容,比如hello!,再来建一个文档类MainForm:
package net.smilecn.studyURLLoader{          
import flash.display.Sprite;     
import flash.net.URLLoader;     
import flash.net.URLRequest;     
import flash.events.Event;          
public class MainForm extends Sprite{             
public function MainForm():void{             
var loader:URLLoader = new URLLoader();             
loader.load(new URLRequest("cfg.txt"));            
 loader.addEventListener(Event.COMPLETE,loadCompleteHandler); }                  
private function loadCompleteHandler(event:Event):void{        trace(event.currentTarget.data);          }      }  }
  我们可以看到,写法和上节并无太大区别,在加载完成事件,我们trace了data属性,这个data实际上就是我们cfg.txt里面的文字:hello!.
  我们有时可能会将txt文件里存一些变量当做简单的配置文件,我们将txt文件的内容改成:msg=hello!&ip=localhost,我们要将代码改一下:
package net.smilecn.studyURLLoader{          
import flash.display.Sprite;     
import flash.net.URLLoader;    
 import flash.net.URLRequest;     
import flash.net.URLVariables;     
import flash.events.Event;          
public class MainForm extends Sprite{ 
 public function MainForm():void{            
 var loader:URLLoader = new URLLoader();             
loader.load(new URLRequest("cfg.txt"));             
loader.addEventListener(Event.COMPLETE,loadCompleteHandler); }                  
private function loadCompleteHandler(event:Event):void{  var vars:URLVariables = new URLVariables(event.currentTarget.data);             
trace(vars.msg);            
  trace(vars.ip);          }      }  }
  我们实际上是把从txt文件里的内容通过URLVariables转变成了URL变量的类型,这样我们就可以通过=前面的变量名来访问这个变量
  我们也可以载入XML文件,先建一个cfg.xml的文件:
<?xml version="1.0" encoding="UTF-8"?> 
<root>     
<msg>hello!</msg>     
<ip>localhost</ip> 
</root>
  还是要修改一个MainForm代码:
package net.smilecn.studyURLLoader{          
import flash.display.Sprite;     
import flash.net.URLLoader;     
import flash.net.URLRequest;     
import flash.events.Event;          
public class MainForm extends Sprite{             
 public function MainForm():void{  var loader:URLLoader = new URLLoader();              loader.load(new
URLRequest("cfg.xml"));             
loader.addEventListener(Event.COMPLETE,loadCompleteHandler);          }          
----------------------------------
课程列表
重点难点
赞助链接