好的,我希望能够从Flash文件中的任何位置或Flash文件加载的Flash文件中访问某些变量。我该怎么做?我不知道哪些类是什么,我不想学习什么类,我不想导入任何东西,我只是想能够从任何地方初始化和访问某些变量。
谢谢:)
答案 0 :(得分:8)
嗯,没有像as2那样的_global - 并且由于你不想使用类,你不能使用静态变量(如果你感兴趣,我可以解释这些)。所以你留下了在根上使用变量。例如,您可以在主时间轴上定义一个变量,如下所示:
var myGlobal:Number = 100;
如果你想在其他地方访问它...也就是说,在其他movieClip的时间轴上你需要说:
MovieClip(root).myGlobal;
如果你以前从未见过,那可能看起来很荒谬。基本上我们将根目录转换为movieClip,以便我们访问其动态属性。幸运的是,您可以进行设置,这样您就不必一直编写MovieClip(root):
// do this on any movieClip where you want to access globals
var global:MovieClip = MovieClip(root);
trace(global.myGlobal);
所以最后只需要一行额外代码就可以恢复AS2中的功能。
修改强>
进入新的movieClip并将其添加到您的操作中:
var global:MovieClip = MovieClip(root); 迹(global.myGlobal);
测试你的电影