好的,我不太习惯 Flash,我在这个问题上已经被困了几个小时,所以任何帮助都会非常感激......
我有这个非常复杂的 FLA,它基本上是这样设置的:
“场景一”
- 一些加载动画(和代码)
- AS 代码从 flashvars(在 HTML 代码中)接收值并验证它们
- 在场景 1 时间线的末尾,我们输入了第二个影片剪辑:
“地图总”
- 这里显示了一张地图,上面出现了各种元素
- 这里没有什么有趣的动作脚本
- 但在这些元素中,一个影片剪辑:
“btn-vb”
- 这里,各种层;其中一个包含另一个电影剪辑(vb_anim)
- 还包含一些 AS 代码以使 vb_anim 在鼠标滚动时变大,并在鼠标离开时反转(并对点击做出反应)
“vb_anim”
- 在这里,我们找到了一些带有一些基本动画的图层。
- 在这些层中,三个代表同一个按钮的不同变体(可用、未准备好、禁止)。
- 这三层中的每一层都包含一个实例化对象(带有一些补间)
我需要的是:
根据我在场景 1 中收到的 flashvars,我需要在“vb_anim”中显示或隐藏这三个对象中的一个或几个。
为了访问场景 1 中设置的变量,我使用以下快捷方式:
var global:MovieClip = MovieClip(root);
// allows for access to the "root" variables
// e.g. global.myVar
我已经在“btn-vb”中使用了相同的代码(我需要访问 flashvars 提供的信息才能定义 onclick 事件),它就像一个魅力。
但是,当从“vb_anim”内部调用时,MovieClip(root) 的计算结果似乎为 null。因此,无法访问场景 1 中的变量,并且当我尝试这样做时,Flash 会抛出“TypeError:错误 #1009”。
由于“vb_anim”只是嵌入在“btn-vb”中,我不明白为什么它看不到 MovieClip(root) 而它的父级可以。
知道我做错了什么吗?