AS2到AS3的转换

时间:2009-05-26 11:39:38

标签: flash

// This is AS2 Coding

this.createEmptyMovieClip("some_mc", 1);
some_mc.loadVariables("external.txt");
some_mc.onEnterFrame = function() {
    if (this.done == "yes") {
        // the variables have finished loading
        trace("**\nfinished loading\n**\nthe variables are:");
        trace(this.fName); // outputs nuno 
        trace(this.lName); // outputs mira 
        trace(this.age); // outputs 24 
        // delete the method to end the loop
        delete this.onEnterFrame;
    }  else  { 
        // not loaded yet
        trace("**\nstill loading\n**");
    }
};

//I want AS3 Coding

//in the text file external.txt data:

&fName=nuno& 
&lName=mira& 
&age=24& 

2 个答案:

答案 0 :(得分:0)

那么这个问题的可能性有多大:https://stackoverflow.com/questions/909409/how-to-read-text-file-external-txt-in-as3也是由你提交的? 双重问题和个人资料,偷偷摸摸...... 你应该关闭其中一个。

在任何情况下,您所拥有的代码都不是最佳实践,文本文件中的格式也不是。 我建议使用xml,但在另一个问题中,你似乎坚持使用近标准文本格式(通常是 fName = nuno& lName = mira& age = 24 )。

无论如何,要做到这一点,首先需要使用URLLoader加载文本,该示例应该为您提供所需的一切。

然后你需要解析文本,我建议Regex,这个例子应该可以提供你所需要的大部分内容。您应该能够使用 /&(。+)=(。+)& / g 解析它(在捕获子字符串时检查this),其中第一个子字符串是名称第二个是价值。

然后,您最终可以浏览最终的数组并将所有内容放入Dictionary,以便按名称访问这些值。

答案 1 :(得分:0)

Simply you have to use URLLoader,URLRequest & URLVariables class in as3, see my example code in below.

    private var _vars:URLVariables;
    private Var _urlloader:URLLoader = new URLLoader(new URLRequest("external.txt"));
    _urlloader.addEventListener(Event.COMPLETE, onURLLoaderCompleteHandler);
    private function onURLLoaderCompleteHandler(e:Event):void
    {
        var loader:URLLoader = URLLoader(e.target);
    _vars = new URLVariables(loader.data);
       some_mc.addEventListener(Event.ENTER_FRAME, onFrameRunning);
    }

    private function onFrameRunning(e:Event):void
    {
        if(_vars != null)
         {
             trace("fname :"_vars.fname);
             trace("lname :"_vars.lname);
             trace("age :"_vars.age);
         }
    }

//in the text file external.txt data:
fname=nuno&lname=mira&age=24