2012-08-01 59 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

相關問題