Re: [問題] 關於 AS3.0 變數範圍 又一問......
※ 引述《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
討論串 (同標題文章)