2009-09-17 47 views
0

我需要根據用戶點擊的內容設置各種變量。那些變量需要被其他影片剪輯訪問。設置並獲取整個moive的變量 - actionscript 3

問題是,在點擊時,那些「其他動畫片段」在時間軸上還不存在。

我所做的是將變量分配給父級動畫片段,儘管我想我可以輕鬆地將它們設置爲根目錄。然後,我會在啓動相關剪輯時獲取該值。

// set - works 
MovieClip(parent).aMovieClip.someVariable = myVal; 

// get? - doesn't work 
getVar = MovieClip(parent).aMovieClip.someVariable; 

上述不起作用 - 什麼是正確的方式來獲得該值,只要我需要它。我想這是獲取和設置全局變量

+0

這在替換折舊_global方法時非常有效http://www.experts-exchange.com/Software/Photos_Graphics/Web_Graphics/Macromedia_Flash/Q_22997849.html – ed209 2009-09-17 11:28:35

回答

0

回答複製的情況:

http://www.experts-exchange.com/Software/Photos_Graphics/Web_Graphics/Macromedia_Flash/Q_22997849.html

與AS3.0,_global變量的概念已被完全清除。 雖然,外部類可以用於完全作爲AS2.0 _global

如果您正確實施它,您應該得到所需的結果。以下是詳細信息:

1. 創建名稱爲「glo.as」的AS3.0類,並將其保存在FLA所在的同一文件夾中。

2. 只需將以下動作粘貼到「glo.as」類文件中即可。

//////////// 
package 
{ 
     //Class will act as _global object of AS2 
     // Static variable "bal" of this class is going to store "varibales, instance's/object's referece to be used by any other class or displayObject/movieClip 
     // sample code to store a reference of a movieClip 
     // 
     // glo.bal.myMovie = this.new_mc; 
     // 
     // 
     public class glo 
     { 
      public static var bal:Object = new Object(); 
     } 
} 
////// 

3. 現在只需通過只使用 「glo.bal」,而不是 「_global」 創建的任何全局變量的任何地方

例如:

glo.bal.myGlobalVariable = 22; 

這將是訪問處處你的FLA和其他類的範圍。


信用 安什·喬普拉 http://www.experts-exchange.com/M_3631521.html

0

你可以使用代理服務器取的值的照顧,同時對象仍然是不存在的。只有當影片剪輯可以訪問時才需要獲得通知,以便使用未決值修改它們。