在Flash Professional CS5和swfobject中缺少FlashVars?

时间:2011-02-17 01:41:34

标签: flash-cs5

我有一个Flash Professional CS5电影,我试图用swfobject传递一个参数。问题是movieclip的flashvar变量(在loaderInfo.parameters下)是null。

这是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'})

2 个答案:

答案 0 :(得分:1)

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

我希望我帮助过。

最好的问候

答案 1 :(得分:0)

试试这个:

var params:Object = LoaderInfo(this.root.loaderInfo).parameters;
var connectionID:String = params.connectionId;
相关问题