2011-02-17 96 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