我想做的事情似乎很簡單,但被我想要在Flash的時間軸內工作的事實所迷惑,而不是在自定義類,.as文件, flex等。我是一名藝術家,代碼只能像我的資源一樣可重用(在Flash中創建/動畫),所以我傾向於在時間軸上工作。Flash AS3 - 從孩子到父母時間線的活動
我想在孩子的時間線結束時有一個腳本,它的父代的時間線進度。如果這是一個真正的AS3腳本,那麼類似這樣的東西將會在孩子的最終框架上:this.parent.gotoAndPlay(2);
我已經完成了可以工作的「修復」,但是將我的程序放慢到了不可接受的速度。例如:我將在導入的自定義類中保存一個公共靜態布爾值,並在父幀1上擁有一個「偵聽器」:
import customClass;如果(布爾=真){的gotoAndPlay(3);} //父框架2上等待子
:
的gotoAndPlay(1); //這將創建便宜環
和最後一個子幀:
進口customClass;布爾= TRUE //告訴父母時留下的環
這工作,但顯然不是最好的辦法......我需要的是同一個時間軸幀中的遞歸,但沒有一個堆棧溢出或編號增量。我想懷疑是EventListeners的答案,但我不想用MouseClick或Timer觸發它,我想這樣觸發它:new EventListener:EventListener(ThatGlobalVarAtTheEndOfYourChildTimelineHasBeenChanged);然後當布爾變爲true時它會進展。我確定這很容易,我覺得自己像一個白癡問這麼簡單,但所有的文檔都讓我在舞臺上工作,或者用我在代碼中創建的對象內的對象,但它不是這很容易與我想做的事情,因爲我正在製作使用多個時間軸的複雜動畫。 Flash知道哪些對象在什麼範圍內,而不是我或我的課程。
謝謝任何人的幫助。
這將是乾淨的做法..我認爲,雖然,在主要時間線上,它應該是孩子。addEventListner(...) – Ben 2010-09-09 02:34:07
實際上,root代表flash中最頂層的對象..子實例可以調用它自己的dispatchEvent方法(並執行child.addEventListener) – Ben 2010-09-09 02:35:37
我使用根作爲前端控制器,所以this你有一個調度員,這讓我意識到我實際上在我上次編輯中犯了一個錯誤... – PatrickS 2010-09-09 02:40:52