繁体   English   中英

动作脚本:使用变量遍历.as

[英]Actionscript : Going through .as with a variable

我有一个变量

var Something = "Text";

我想导入放置在abc文件夹中的Text .as,该怎么办? 我试着写:

 import abc.Something;

不起作用,有帮助吗? 顺便说一句再次要点,我想导入文本

您尝试执行的操作将无效。 import语句用于类。 您可以在静态变量中定义文本字符串,然后在代码中使用此变量。 请注意,这不是一个好的设计。

package abc{
   public class TextHolder
   {
        public static var something:String = "Text"; 
   }
}

在另一堂课中:

package {
   import abc.TextHolder
   public class Main
   {
       var text:String = TextHolder.something;
   }
}

您也可以使用include语句。 通过此声明,您可以将文件作为文件包含在当前文件中

include "abc.script.as"

然后,该脚本中的变量将包含在当前脚本中。

我真正想要的是在运行时加载文本和其他资源。

您可以使用URL Loader轻松做到这一点。 http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/net/URLLoader.html

这个例子来自adobe livedocs

package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.*;

public class URLLoaderExample extends Sprite {

    private loader:URLoader;
    public function URLLoaderExample() {
        loader = new URLLoader();
        configureListeners(loader);

        var request:URLRequest = new URLRequest("urlLoaderExample.txt");
        try {
            loader.load(request);
        } catch (error:Error) {
            trace("Unable to load requested document.");
        }
    }

    private function configureListeners(dispatcher:IEventDispatcher):void {
        dispatcher.addEventListener(Event.COMPLETE, completeHandler);
        dispatcher.addEventListener(Event.OPEN, openHandler);
        dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
        dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
        dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
        dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
    }

    private function completeHandler(event:Event):void {
        var loader:URLLoader = URLLoader(event.target);
        trace("completeHandler: " + loader.data);

        var vars:URLVariables = new URLVariables(loader.data);
        trace("The answer is " + vars.answer);
    }

    private function openHandler(event:Event):void {
        trace("openHandler: " + event);
    }

    private function progressHandler(event:ProgressEvent):void {
        trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
    }

    private function securityErrorHandler(event:SecurityErrorEvent):void {
        trace("securityErrorHandler: " + event);
    }

    private function httpStatusHandler(event:HTTPStatusEvent):void {
        trace("httpStatusHandler: " + event);
    }

    private function ioErrorHandler(event:IOErrorEvent):void {
        trace("ioErrorHandler: " + event);
    }
}

}

它有点太多,但涵盖了加载ASCII数据的整个过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM