URLLoader不会从URLRequest加载数据。没有错误消息

时间:2015-09-05 15:48:02

标签: actionscript-3 flash sublimetext2

我正在尝试从我的AS3程序中的网站加载数据。但是,urlLoader.load()永远不会完成,但程序运行没有任何错误。

这是我的代码:

Main.as:

import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import ttTextField;

public class Main extends Sprite 
{
    private var textField:ttTextField = new ttTextField("", false);

    public function Main():void
    {
        var urlRequest:URLRequest = new URLRequest("http://itch.io/api/1/API_KEY_REMOVED_FOR_SECURITY/my-games");
        urlRequest.method = URLRequestMethod.GET;

        var urlLoader:URLLoader = new URLLoader();
        urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
        urlLoader.addEventListener(Event.COMPLETE, completeHandler);

        urlLoader.load(urlRequest);

        stage.addChild(textField);
    }

    private function completeHandler(event:Event):void
    {
        textField.text = event.target.data;
    }
}

ttTextField.as:

import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormatAlign;
import flash.text.TextFormat;

public class ttTextField extends TextField
{
    [Embed(source = "../files/Fixedsys500c.ttf", embedAsCFF = "false", fontName = "fixedSys")] private var fontClass:Class;
    private var textFormat:TextFormat = new TextFormat("fixedSys", 24);

    public function ttTextField(string:String, centered:Boolean)
    {
        if (centered)
        {
            textFormat.align = TextFormatAlign.CENTER;
        }
        else
        {
            textFormat.align = TextFormatAlign.LEFT;
        }

        string = string;

        this.autoSize = TextFieldAutoSize.LEFT;
        this.mouseEnabled = false;
        this.embedFonts = true;
        this.textColor = 0xFFFFFF;
        this.defaultTextFormat = textFormat;
        this.text = string;
    }

}

ttTextField可以显示常规字符串,因此看起来这个类似乎不是问题。我只是为了完成而把它包括在内。

我也在使用Sublime Text 2构建和运行。我的sublime-build文件如下:

{
"cmd": ["C:\\Users\\Dan\\Documents\\flex_sdk_4.6\\bin\\mxmlc.exe", "-output=C:\\Users\\Dan\\TTTT\\TTTT.swf", "-default-background-color=#00FF00", "-default-size=800,600", "C:\\Users\\Dan\\TTTT\\src\\Main.as", "-static-link-runtime-shared-libraries=true"],
"file_regex": "(.*)[(](\\d+)[)]:(?: col: (?:\\d+))? *Error: (.*)",
"selector": "source.actionscript",

"variants":
[
    {
        "name": "Run",
        "shell": true,
        "cmd": ["C:\\Users\\Dan\\TTTT\\TTTT.swf"]
    }
]

}

我已尝试在Flash Player和Google Chrome中运行该程序。每次输出只是blank screen

如何让我的URLLoader实际加载URL?如果需要,我可以提供更多信息。谢谢你的阅读。

1 个答案:

答案 0 :(得分:0)

我认为只有Main课程应该从MovieClip延伸而不是Sprite

public class Main extends MovieClip 
{
    //  ...
}

要在浏览器中调试项目,您可以使用可以从here下载的Flash播放器调试版本。

希望可以提供帮助。