0

我有一个变量

var Something = "Text";

我想导入文本。因为它放在 abc 文件夹中,我该怎么办?我试着写:

 import abc.Something;

没用,有救吗?顺便说一句,我想导入文本

4

1 回答 1

1

你试图做的事情是行不通的。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 加载器简单地做到这一点。 http://help.adobe.com/en_US/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 数据的整个过程。

于 2013-04-05T14:19:33.150 回答