as2 AVM1物件和as3物件的通訊

2021-09-22 06:05:10 字數 1860 閱讀 1298

注意本人遇到的 connection名稱問題,因為實際上是域:名稱,呼叫時有時會找不到,因此在connection名稱前加_

更真實的原因是as1.0不支援connection,所以發布時一定要看清楚哈,用flash player6不一定是as2.0!

具有不可預知網域名稱的不同域。 有時候,可能希望具有接收方 localconnection 物件的 swf 檔案在域之間具有更好的可移植性。 若不想在 send() 方法中指定網域名稱,但要向 flash player 指出接收方和傳送方 localconnection 物件不在同乙個域中,可在 connect() 和 send() 呼叫中的連線名之前加乙個下劃線 (_)。 若要允許在這兩個不同域之間通訊,請呼叫 allowdomain() 方法並傳遞您希望允許 localconnection 呼叫的域。 或者,也可以傳遞萬用字元 (*) 引數來允許從所有域呼叫:

// receivinglc is in

receivinglc.allowdomain('*');

receivinglc.connect('_myconnection');

// sendinglc is in

sendinglc.send('_myconnection', 'mymethod');

同乙個域。 這是使用 localconnection 物件最簡單的情況,它只允許位於同乙個域中的 localconnection 物件間通訊(預設情況下,flash player 允許同域通訊)。 當同乙個域中的兩個 swf 檔案通訊時,無需實施任何特殊的安全措施,而只需將 connectionname 引數的同乙個值傳遞給 connect() 和 send() 方法。

// receivinglc is in

receivinglc.connect('myconnection');

// sendinglc is in

// mymethod() is defined in sending.swf

sendinglc.send('myconnection', 'mymethod');

actionscript 3.0 中建立的 localconnection 物件可以與 actionscript 1.0 或 2.0 中建立的 localconnection 物件通訊。反之亦然:actionscript 1.0 或 2.0 中建立的 localconnection 物件可以與 actionscript 3.0 中建立的 localconnection 物件通訊。flash player 可自動處理不同版本 localconnection 物件間的通訊。

若要了解如何使用 localconnection 物件在兩個 檔案之間進行通訊,了解每個檔案中使用的命令非常有用。乙個 檔案被稱為傳送方 檔案;此檔案包含要呼叫的方法。傳送方 檔案必須包含乙個 localconnection 物件和對 send() 方法的呼叫。另乙個 檔案被稱為接收方 檔案;此檔案為呼叫方法的檔案。接收方 檔案必須包含另乙個 localconnection 物件和對 connect() 方法的呼叫。

send() 和 connect() 的使用將有所不同,這取決於 檔案是在同乙個域中、在具有可預知網域名稱的不同域中還是在具有不可預知網域名稱(即動態網域名稱)的不同域中。下文將說明這三種不同的情況,並針對每種情況分別提供**示例。

同乙個域。這是使用 localconnection 物件最簡單的情況,它只允許在位於同乙個域中的 localconnection 物件間通訊,這是因為預設情況下,應用程式允許同域通訊。當同乙個域中的兩個 檔案通訊時,無需實施任何特殊的安全措施,而只需將 connectionname 引數的同乙個值傳遞給 connect() 和 send() 方法。

as3的connect()方法已經沒有返回值了,那麼想在連線失敗的時候嘗試其它連線就只能通過捕獲argumenterror。

jiahuafu

2 物件和型別

一 結構與類主要區別是結構用關鍵字struct代替class來宣告結構。類和結構都是使用關鍵字new來宣告例項。這個關鍵字創造物件並對其進行初始化。二 類成員的可訪問性可是以 public protected internal protected private internal.1 方法的宣告 m...

Python3物件導向 1 物件(2)

初始化物件 建構函式 建立物件 名 new 例如 class point def init self,x,y def init self,x 3,y 5 如果想讓引數x,y的值輸入不是必須的,就像函式引數寫法那樣 self.move x,y defmove self,x,y self.x x sel...

3物件的共享

作用 將當前執行緒對volatile的改變立即通知給其他執行緒 保證了volatile變數對執行緒的可見性 volatile是一種比synchronizyed稍弱的同步機制 對可見性的影響 volatile變數對可見性的影響比volatile變數本身更為重要。當執行緒a首先寫入乙個volatile變...