上一节中,我们讲到了加载文件,用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);
}
}
}
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);
}
}
}
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 >
< 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);
}
private function loadCompleteHandler(event:Event): void {
var vars:XML = new XML(event.currentTarget.data);
trace(vars.msg);
trace(vars.ip);
}
}
}
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);
}
private function loadCompleteHandler(event:Event): void {
var vars:XML = new XML(event.currentTarget.data);
trace(vars.msg);
trace(vars.ip);
}
}
}
这样我们也能得到我们想要的变量值
下节继续!
(本教程如需转载请注明出处!)