Re: [問題] 關於 AS3.0 變數範圍 又一問......

看板Flash作者 (大毛)時間17年前 (2009/04/05 23:43), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《Lawnchern ()》之銘言: : 剛剛試了一下,發現一個問題 : actionscript 一般來說 大部份都寫於 某frame 中 : 或是可以寫在某 symbol裡。 : 假設現在 整個 fla裡 只有一個 stage 一個frame, : 還有一個 MovieClip symbol簡稱 myMc。 : 那麼一開始我在場景 1的 frame1裡寫 AS : frame 1 : : var myVar = 123; : 又在myMc symbol的編輯模式下 寫 AS: : myMc: trace(myVar); : 此時就無法trace出myVar 因為它看不到 frame1 裡宣告的變數。即使這變數在frame1 : 中的最上層宣告,而不是在function 中宣告。 : 其實我的問題是,要怎麼讓 symbol裡看到 frame裡宣告的 變數???? AS3裡 Flash Display List通常是長這樣: stage object->document object->其它被加進來的DisplayObject 你在主影格frame裡寫的code 不管放在哪一個frame 都會被flash編到document class裡 function變member function variable變member document object的child object是可以透過root取用document object 所以在你的symbol的as裡寫 (root as MovieClip).myVar 就可以取得document裡的myVar 不過 我覺得換個寫法比較好 由document主動傳遞myVar給它的child 這樣child就不會依賴root一定要有myVar這個變數 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.231.3.56
文章代碼(AID): #19sD6WVL (Flash)
討論串 (同標題文章)
文章代碼(AID): #19sD6WVL (Flash)