我是flex的新手,所以我希望会有一些简单的解释。无论如何,我试图从url获取参数,加载swf文件。一切都好,它有效。
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对象。 我会很感激。
答案 0 :(得分:0)
我自己回答的另一个问题。无论如何,只有一个愚蠢的错误。要访问loaderInfo
属性,必须完全下载所有swf。所以当我从creationComplete
向applicationComplete
发射第一个函数时,我刚刚更改了事件。就这样。