作者admon (大毛)
看板Flash
标题Re: [问题] 关於 AS3.0 变数范围 又一问......
时间Sun Apr 5 23:43:27 2009
※ 引述《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