AS2中Tween類的delete與stop

2022-02-06 00:20:40 字數 794 閱讀 2097

問題二好解決,新增乙個標誌變數即可,問題一看起來也好解決,檢視一下其它部分的**,發現以前負責這個專案的經理使用了a = new tween(……); delete  a;這樣的**,那也我也照著用,但是問題又來了,現在閃爍的問題更嚴重了。費了老大功夫在**裡加了n個trace語句,發現即使delete掉了tween結果改變alpha值的函式還在跑。 我鬱悶,又檢查了所加**的邏輯並且檢視了相關**的邏輯,還是沒有發現問題,研究了數小時無結果,火大,開啟msn就想向經理求救。但是問題都敲好了,還是沒有發出去。冷靜下來想想,先另建個小程式,裡面放個二個按鈕和乙個剪輯,按鈕用來開始和停止那個剪輯漸隱。**如下:

發現在這裡也是不能正常停止漸隱,然後想一想分別查了delete和tween類的幫助,發現tween裡還有個stop方法用來停止tween,就將上面**onstophide中注釋的那一句添上了,然後,這個實現**就正常了。然後帶著疑問去檢視了tween的原始碼,發現它的實現模式也是相當簡單,也是啟動了個定時器,定時呼叫乙個**函式,並且在**裡呼叫構造tween時指定的用來計算新值的函式,然後對呼叫構造tween時指定的物件的指定引數進行更改。在tween類裡沒有顯示析構函式,也就是沒有在delete這個tween時對定時器進行關閉,所以delete 這個tween後效果依然是繼續的,但是這個物件已經析構了為什麼裡面的**函式還能正常執行就說不清楚了,誰讓as2是個指令碼語言呢。

但是回想一下,乙個簡單的函式使我足足浪費了大半天的時間來檢查自己的**,並且是如何也檢測不出來問題,道理是如此簡單,檢查時總會放過那些自認為絕對正確的部分,那麼如論如何也是檢測不出錯誤的。似乎有句話是:「最可怕的不是無知,而是你不知道自己無知」。

Tween類 的緩動效果

tips 匯入類,右鍵物件連線設定 匯入tween類 import mx.transitions.tween 匯入easing類 import mx.transitions.easing.this.attachmovie mc mc this.getnexthighestdepth var mybo...

flutter中的動畫(tween動畫)

flutter中的動畫分為兩類 基於tween的動畫和以及物理的動畫。以下引用自flutterchina 補間 tween 動畫 介於兩者之間 的簡稱。在補間動畫中,定義了開始點和結束點 時間線以及定義轉換時間和速度的曲線。然後由框架計算如何從開始點過渡到結束點。基於物理的動畫 在基於物理的動畫中,...

AS2,資料結構 棧的實現

as2,資料結構 棧的實現 by emilmatthew10 3 如果你要問我資料結構裡最容易實現的是哪種,我現在會回答你是棧。但棧的功能卻很強大,在編譯,演算法等許多地方都看到它的身影。想想洗完後碟子的擺放與取走的方式,是乙個 filo first in last out 的現像,這便是棧在現實生...