2012-08-01 58 views
0

下面的代码如何在2个不同类别AS3中使用相同的实例名

文档类:

menu.more.addEventListener(MouseEvent.CLICK, More_func) 
function More_func (e:MouseEvent):void 
{ 
    showmore.visible = true; 
} 

菜单是在文档类的影片剪辑的实例名称。 more是动画片段内的按钮的实例名称。 而showmore是另一个动画片段的实例名称。

我想将此代码转移到菜单类。我只是simkply复制/粘贴。但我收到一条消息:“未定义房产的访问显示更多。”

所以我问我怎么可以使用外部对象(在这种情况下showmore)到另一个movieclip类(在这种情况下菜单)。

如果代码在文档类中,代码工作正常。

回答

1

听起来像你只需要去showmore的父母。 如果您将此代码复制到菜单类中,则引用showmore会在菜单类中查找它。

您需要能够从菜单类中引用您的文档类。你可以这样做几种不同的方式:

  1. (如菜单和相册更多>>暂是显示列表和相册更多>>暂在文档类的两个孩子是公开的对象),你需要投parent属性,或者你”会得到一个编译错误。

    DocumentClassName(parent).showmore.visible = false;

  2. 创建的文档类的静态变量,你可以挖掘到 在文档类:

    公共静态无功我:DocumentClassName;

在文档类的构造函数:

me = this; 

在您的菜单类More_func:

DocumentClassName.me.showmore.visible = false; 
+0

TNX,伙计。我尝试第二种方式,它工作正常。 再次感谢。 – Stefan4024 2012-08-02 07:38:45

相关问题