2011-12-13 77 views
0

我有問題,我找不到任何answear。AS2檢查字符串是否更改或功能被觸發

實施例:

在_root存在功能 「路徑= LOAD_PATH()」 當按下一個按鈕,它被觸發。此功能的結果可以是「photos/folder1/image.jpg」或「folder1/textpage/」或任何其他路徑。 我試圖找到的是,如何獲取「路徑」的值,當它被更改或獲取回調時,只要函數「load_Path()」被觸發。

我無法訪問此函數,因爲它位於_root SWF中,我無法編輯。

感謝您的回覆。

問候,Artur。

回答

1

這聽起來像'手錶'方法是你所需要的。

它的方法簽名是:

公共腕錶(名稱:字符串,回調:函數,[用戶數據:對象):布爾

它可以讓你定義屬性觀看和一個回調函數,當屬性改變時被觸發。

對您有幫助嗎?

+0

感謝您的回答。我會檢查它... btw - 我可以使用watch()來檢查數組對象的變化嗎?我的意思是'image.name [currentImg-1] image.watch(「name」,myCallbackFunction);'我試過這個,但是我無法得到任何結果。 –

0

由於您無法編輯根SWF,因此觸發該功能時將無法獲得回調。我會建議不斷檢查價值(每幀或每秒),如下所示:

function checkPath() { 
    trace(_root.path); 
} 
onEnterFrame = checkPath; //check every frame 
//OR 
setTimeout(checkPath, 1000); //check every second 
+0

感謝您的回答。當然我知道在這種情況下我可以使用時間間隔或'onEnterFrame',但它不是有效的編碼方式... –

+0

然而,如果在編譯時沒有將回調函數添加到根swf,沒有別的辦法。 – package