2010-10-18 39 views
0

有一些問題,從動作中訪問我的param標籤。從本質上講,我有以下標籤:的ActionScript訪問param標籤中的另一個文件

<param name="config" value="config" /> 

但我無法訪問它。我有兩個問題,我一直在尋找互聯網的高低。

1)我怎麼連訪問參數?我有一些人說使用_root.config,LoaderInfo(this.root.loaderInfo).parameters [「配置」],只是配置。沒有工作,尋找這個東西是如此困難,因爲它非常通用。

2)我認爲,一旦我找到了如何訪問正在傳遞帕拉姆,我將有問題與另一個文件訪問它,因爲我在我的搜索過程中讀的地方,其他文件不具備訪問全局變量。如果是這樣的話,我該怎麼做?我已經看到過幾次拋出_globals,有些人說它有效,有些人不會。

很抱歉,如果這些都是很基本的問題,但我是一個PHP/.NET編碼器是必須更新的ActionScript文件,並沒有像我所期待的。

謝謝。

+0

我認爲你也有點困惑,並混合使用ActionScript 2和3.一般規則是,使用下劃線(_)構建它的任何東西都是AS2。 – 2010-10-18 19:24:23

+0

你說得對。我很困惑,試圖學習這些特定的項目很難特別當as2和as3混合在一起。 – JohnathanKong 2010-10-18 19:53:42

回答

0

似乎有Flash變量&閃存參數之間的混淆。您可以使用loaderInfo.parameters在您的代碼中訪問Flashvars,但無法訪問Flash參數(您爲什麼想要?)

看看下面的示例以查看兩個
http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000272.html

Flash參數將設置一堆屬性以將電影嵌入HTML頁面,而Flashvars是您希望在應用程序中使用的值。

加載你的flashvars後,有幾種方法可以在您的應用程序訪問他們,一個簡單的解決方案(可能不是最好的)是創建公共靜態變量的資產類別。

 
public class Asset 
{ 
    public static var config:String; 
    public static var amount:int; 
} 

public class Main extends Sprite 
{ 
    public function Main 
    { 
     var params:Object = this.loaderInfo.parameters; 

     //set your Asset variables 
     Asset.config = params.config; 
     Asset.amount = params.amount; 

     //now that the values are set , you can use them 
     //across your app. See below... 

    } 
} 

public class Whatever 
{ 
     public function Whatever() 
     { 
      var amount:int = Asset.amount; 
     } 
} 
+0

我的確看過,但我希望現在有一種方法可以通過as3訪問它們。我與之合作的客戶希望使其更清潔,但如果是這種情況,我想他沒有別的選擇。 – JohnathanKong 2010-10-18 17:35:30

+0

這裏唯一不乾淨的是全局變量的使用,還有其他的可能性,但這取決於你的實現。 – PatrickS 2010-10-18 17:48:51

+0

謝謝帕特里克。我決定和你的實施一起去。我想我只是不喜歡這個事實,我不得不把一個獲取字符串放入一個值。一個極端的例子是,如果我有10個變量持有大量數據,它看起來真的很糟糕。 – JohnathanKong 2010-10-18 19:54:58