2012-09-08 71 views
0

我正在向某人elses動畫片段添加小部件。從MovieClip中刪除動作

在舞臺上是另一個動畫片段,它在動畫片段內部有一個動作(通過在Flash中按F9進入動畫片段)。

function onClicked() 
{ 
    parent.onOldBtnClick("go"); 
} 

我需要做的是擺脫這種行爲並添加我自己的行動。

如何覆蓋此操作?

+0

對不起,我不太明白問題是什麼。如果您需要替換該行爲,爲什麼不能將該調用刪除並將代碼更改爲其他內容? – annonymously

+0

我只是在舞臺上添加swf。那麼,如何找出什麼是調用動作和/或如何從導入的swf中更改舞臺時間軸中的動作? – Dinkheller

回答

1

如果它是ActionScript3,只是removeEventListinerMovieClip,觸發onClicked()addEventListener爲自己的行動。如果你不知道確切的聽衆,你可以用hasEventListener跟蹤它。有關事件的更多信息及其工作方式,請參閱ActionScript3 referance

+0

如何找出哪個事件觸發了onClicked()動作。我可以通過調用 notMyMovieClip.onClicked()來觸發該操作; 但notMyMovieClip將false返回給hasEventListener和willTrigger。 – Dinkheller

+0

onClicked不是一個監聽器函數,它是一個自定義函數,您可以通過代碼自行調用它。所以它總是會爲hasEventListener和willTrigger返回false。 – Moorthy

+0

但是我如何重寫這個自定義函數呢? – Dinkheller

0

要覆蓋,只需在onClicked函數中刪除該行並編寫自己的代碼即可。編寫代碼塊時必須小心,主要是範圍。因爲您正在將代碼寫入動畫片段中,所以如果您試圖在舞臺中訪問另一個動畫片段(使用指定的父級或根級別或其實際範圍),則會引發錯誤。

+0

我不能刪除代碼行,因爲我不是代碼的所有者。所以除了運行和使用actionscript之外,我無法刪除它。我如何通過AS3刪除它? – Dinkheller

+0

在下面的評論中,你已經告訴你,你叫它notMyMovieClip.onClicked()。所以你可以在那裏調用你的函數而不是你的函數,不是嗎? – Moorthy