为什么动画片段或任何其他子组件在提供实例名称时可以公开访问?

时间:2011-11-03 20:25:25

标签: flash actionscript-3

假设我在movieclip A_Mc(代表ClassA)中放置了一个movieclip。现在如果我放置另一个movieclip(没有命名,并通过Flash IDE确保自动实例命名为Off),一切运行正常。但是当我提供一个实例名称b_Mc时,它必须能够公开访问。

此设置背后的逻辑是什么?为什么在设计时我不能制作一个隐私的子影片剪辑?

3 个答案:

答案 0 :(得分:0)

我觉得这只是为了简单起见。 Flash IDE面向设计人员,因此如果您开始讨论公共和私有,可能会非常混乱。

我想不出有什么理由为什么你会想要私人图形。我无法看到访问所有子图形的任何问题。

答案 1 :(得分:0)

AS3文档声明放置在舞台上的任何符号都是公开的。这样做的原因是无法在IDE时间轴中将舞台实例声明为公共或私有。因此,允许公共或私人访问的唯一情况是使用公共。你所有的舞台成员都有公开的问题。

但是从adobe的角度来看 - 他们正试图让Flash IDE对设计和动画导向用户友好,而公共和私人成员的想法并不熟悉。因此,它们不提供允许您将成员符号名称指定为私有的字段。

但一个好的解决方法是将图形导出为没有实现的类,只是公共实例。然后将其作为私有变量添加到您的实现类中。然后将它添加到实现类的阶段,如果该类是显示对象。如果您在StackOverflow,我认为您可以接受挑战; - )

答案 2 :(得分:0)

除非是公开的,否则Flash播放器无法将您的实例放入实例名称指向的变量中。有关详情,请查看http://www.developria.com/2010/04/combining-the-timeline-with-oo.html