2011-02-17 65 views
1

我有一个Flash Professional CS5电影,我试图通过swfobject传递参数。问题在于movieclip的flashvar变量(在loaderInfo.parameters下)为空。Flash Professional CS5和swfobject中缺少FlashVars?

下面是SWFObject的代码:

function loadSetupBar(connectId) 
{ 
    // add the setup bar to the DOM using swfobject 
    swfobject.embedSWF("{{setupBarSwf}}", 
    "swf-setup-bar", 
    {{gameWidth}}, $("#top-bar").height(), 
    "10.0.0", "{{installSwf}}", 
    {connectionId : connectId }, 
    { 
     allowFullScreen : true, 
     wmode : 'opaque', 
     allowscriptaccess: "always" 
    }, 
    {name:"swf-setup-bar"} 
); 
} 

按照SWFObject的文档,一切似乎是确定。

这里的FLA内相应的代码(有自己的AS3类的MovieClip):

var params : Object = root.loaderInfo.parameters; 
var connectionId : String = params.connectionId; 

if (!params.hasOwnProperty('connectionId')) 
    // this line is always printed. 
    trace("[SetupBar-Error] loaderInfo parameters missing property 'connectionId'") 

我不知道还能做什么。

谢谢。

编辑:这里是失败的事情,我已经试过清单:

  • 铸造root.loaderInfo类的LoaderInfo(即的LoaderInfo(this.root.loaderInfo))
  • 传递一个字符串字面在swfobject.embedSWF代替PARAM connectId (即{的ConnectionId: 'myTestValue'})

回答

1

当您将其添加到flashvars开始无法工作的阶段时,TLF TEXT控件存在问题。只是不要使用它,你的flashvars会正常工作。我遇到了同样的问题,我通过不使用TLF TEXT控件解决了这个问题。

我希望我能帮上忙。

最好的问候

0

尝试这种情况:

var params:Object = LoaderInfo(this.root.loaderInfo).parameters; 
var connectionID:String = params.connectionId; 
+0

这没有奏效。 params.connectionId仍然为空。 – dornad 2011-02-17 02:14:34

+0

您可以验证`connectId`是否正在传递到`loadSetupBar`? – TNC 2011-02-17 02:27:57