[AS3.0]一步一步学ActionScript 3.0(十四)

本文介绍了如何使用Flash中的URLLoader类加载TXT和XML文件,并解析其中的数据。通过实例演示了如何将文本文件内容转换为URL变量及XML对象,以便于访问特定变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一节中,我们讲到了加载文件,用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);
        }
        
        
private function loadCompleteHandler(event:Event):void{
            var vars:XML 
= new XML(event.currentTarget.data);
            trace(vars.msg);
            trace(vars.ip);
        }
    }
}

这样我们也能得到我们想要的变量值

下节继续!

 

(本教程如需转载请注明出处!)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值