在actionscript中键入所有嵌套对象真的很长,因此很难重命名对象。
在Flash中,如果我不使用外部actionscript文件,我可以输入gunmovie.play();并工作。其中,武装电影是MovieClip的实例名。
在一个外部actionscript文件中,我实现了类MegaWeapon,但是在它的代码中,我必须知道整个对象路径才能访问flash中的东西。示例:
// works
_root.menu.level1.toppanel.megaweapon.gunmovie.play();
// doesn't work
this.gunmovie.play();
// works, but not in external actionscript files
gunmovie.play();在目标C中有: IBOutlet。我真的希望Flash 9有类似的东西。绝对的道路不好。
我没有我的工作计算机在我身边,所以代码是来自记忆。
任何访问嵌套元素的简单方法?
发布于 2009-09-23 19:15:09
我建议在MegaWeapon.as中创建一个指向gunmovie.play()的函数,这样您就可以调用它。
至于硬编码路径,您也可以让MegaWeapon类在_root上注册,这样您的代码就可以读到:
_root.megaWeapon1 = this;
// On _root
_root.megaWeapon1.gunmovie.play();不过,你需要小心碰撞。
发布于 2009-09-23 19:07:53
嗯,你可以在一个地方创建一个较低的剪辑的引用,所以如果你必须重命名符号,那就不那么痛苦了。
例如
变量:MovieClip= __root.menu.level1.toppanel.megaweapon;
所以你可以
someClip.gunmovie.play()
这应该与代码块中的第一行完全相同,但至少可以在单个位置定义对象路径,而不是每次使用它。
https://stackoverflow.com/questions/1467995
复制相似问题