我正在向某人elses動畫片段添加小部件。從MovieClip中刪除動作
在舞臺上是另一個動畫片段,它在動畫片段內部有一個動作(通過在Flash中按F9進入動畫片段)。
function onClicked()
{
parent.onOldBtnClick("go");
}
我需要做的是擺脫這種行爲並添加我自己的行動。
如何覆蓋此操作?
我正在向某人elses動畫片段添加小部件。從MovieClip中刪除動作
在舞臺上是另一個動畫片段,它在動畫片段內部有一個動作(通過在Flash中按F9進入動畫片段)。
function onClicked()
{
parent.onOldBtnClick("go");
}
我需要做的是擺脫這種行爲並添加我自己的行動。
如何覆蓋此操作?
如果它是ActionScript3,只是removeEventListiner
在MovieClip
,觸發onClicked()
和addEventListener
爲自己的行動。如果你不知道確切的聽衆,你可以用hasEventListener
跟蹤它。有關事件的更多信息及其工作方式,請參閱ActionScript3 referance
如何找出哪個事件觸發了onClicked()動作。我可以通過調用 notMyMovieClip.onClicked()來觸發該操作; 但notMyMovieClip將false返回給hasEventListener和willTrigger。 – Dinkheller
onClicked不是一個監聽器函數,它是一個自定義函數,您可以通過代碼自行調用它。所以它總是會爲hasEventListener和willTrigger返回false。 – Moorthy
但是我如何重寫這個自定義函數呢? – Dinkheller
要覆蓋,只需在onClicked函數中刪除該行並編寫自己的代碼即可。編寫代碼塊時必須小心,主要是範圍。因爲您正在將代碼寫入動畫片段中,所以如果您試圖在舞臺中訪問另一個動畫片段(使用指定的父級或根級別或其實際範圍),則會引發錯誤。
我不能刪除代碼行,因爲我不是代碼的所有者。所以除了運行和使用actionscript之外,我無法刪除它。我如何通過AS3刪除它? – Dinkheller
在下面的評論中,你已經告訴你,你叫它notMyMovieClip.onClicked()。所以你可以在那裏調用你的函數而不是你的函數,不是嗎? – Moorthy
對不起,我不太明白問題是什麼。如果您需要替換該行爲,爲什麼不能將該調用刪除並將代碼更改爲其他內容? – annonymously
我只是在舞臺上添加swf。那麼,如何找出什麼是調用動作和/或如何從導入的swf中更改舞臺時間軸中的動作? – Dinkheller