-1

我将 FlashDevelop 与 flixel 库一起使用(不知道是否重要)。

我已经四处寻找了几天(包括在这个页面中),我真的厌倦了找到一半在我尝试时不起作用的答案。

这是简单的 php 脚本:

<?php
    print("name=".$_POST['name']);
?>

现在我在 AS3 中有这段代码,当我单击 Flash 窗口上的任意位置时,它会将变量名称中的值发送到“test.php”:

package{
    import org.flixel.*;
    import flash.net.*;
    import flash.events.MouseEvent;
    import flash.events.Event;

    public class TestState extends FlxState{
        override public function create():void {
            FlxG.mouse.show();
            FlxG.bgColor = 0x00000000;
            FlxG.stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
        }

        private function onMouseDown(event:MouseEvent):void{
            var request:URLRequest = new URLRequest("test.php");
            request.method = URLRequestMethod.POST;

            var vars:URLVariables = new URLVariables();
            vars.name = "Joshua";
            request.data = vars;

            var loader:URLLoader = new URLLoader();
            loader.addEventListener(Event.COMPLETE, completed);
            loader.dataFormat = URLLoaderDataFormat.VARIABLES;
            loader.load(request);
        }

        private function completed(event:Event): void {
            //trace(what should I put here to get the reply?)
        }
    }   
}

我应该在跟踪的括号内放什么以获得服务器回复?

4

1 回答 1

0

来自 aURLLoader的数据存储在 URLLoader 的data属性中。通常,大多数人在Event.COMPLETE处理程序中通过event.target.data(您可以保证使用它不会有任何范围问题)访问它,尽管您当然也可以通过原始 URLLoader 变量(您称之为loader)访问它

不过,这在 Flash 中是相当常见的任务。您应该能够URLLoader.data很容易地在任意数量的站点和 AS3 liveDocs(请参阅 参考资料)中找到它(这可能是您收到反对票的原因)。

于 2013-07-12T23:00:25.763 回答