0

我是flex的新手,所以我希望会有一些简单的解释。无论如何,我试图从加载 swf 文件的 url 获取参数。一切都好,它的工作原理。

var room_id:Number = root.loaderInfo.parameters.room_id;

在我连接到 red5 服务器之前尝试执行此操作时会出现问题。现在我想从 url 中获取 id,以了解我应该在哪个房间建立连接,但是如果我在建立连接之前尝试访问此参数时 flex 给我一个错误,我该怎么做。

错误 #1009:无法访问空对象引用的属性或方法。

目前有我的代码。

protected function application1_creationCompleteHandler(event:FlexEvent):void {
    //var room:Number = vars("room");
    connection = new NetConnection();
    connection.connect("rtmp://127.0.0.1/video");
    connection.addEventListener(NetStatusEvent.NET_STATUS, onConnected);
    connection.client = this;
}
private function vars(id:String) : Number {
    var newID:Number
    switch(id) {
        case "room" :
        newID = root.loaderInfo.parameters.room_id;
        break;
    }
    return newID;
}

如果我取消注释 "var room:Number = vars("room");" 我得到错误,如果我稍后在函数“onConnected”中使用这一行,没有问题,我可以访问通过 url 传递的所有参数。现在可以在连接之前获取这些参数,我该怎么办?网站本身在 php 上运行,所以基本上我试图将 php 参数传递给 swf 对象。我会很感激。

4

1 回答 1

0

我自己回答的另一个问题。无论如何,这只是一个愚蠢的错误。要访问loaderInfo属性,必须完全下载所有 swf。creationComplete因此,当我从to触发第一个函数时,我只是更改了事件,仅applicationComplete此而已。

于 2011-09-17T16:10:25.833 回答