2015-10-01 108 views
0

庫: 主機 - 主機 fileicon - 文件AS3添加從函數的對象爲一個對象在另一個函數

信息: 主機是一個容器,它有一個面具,我會用這個有很多的稱爲文件的子對象。在後面的代碼中,我希望有一個removeChild(Host),所以當我激活它時,它將刪除主機,從而刪除所有文件。清潔石板。

文件本身只是一個對象,我有其餘的代碼工作正常,但無論何時它將這些添加到主機,它只是不會工作...很顯然,在這裏你看到主機實際上創建一個hostSetup函數,這些文件將在addfiles函數中創建,但我需要在兩者之間進行通信以將該文件添加到主機中。 -Re寫道這有希望使它更容易理解。

(對不起它它混淆你)

function hostSetup() 
{ 
    addChild(Host); 
    addChild(HostMask); 
} 
function addFiles() 
{ 
    Host.addChild(file); 
} 
+0

歡迎SO!完全不清楚你在問什麼。 – null

+0

它說什麼Host.addChild(文件),這應該添加一個文件到主機,這種方式後來當我選擇刪除主機,它會清除我放入它的所有文件。但我不知道鏈接是什麼,因爲我不能只說Host.addChild或this.Host.addChild。對不起,我不清楚我正在努力自己不會說謊,即時消息AS3 –

+0

什麼是'主機'?什麼是'文件'? – null

回答

0

變量Host是在功能initHost()局部變量。功能以外是未知的。

要使其可用於您的其他功能addFiles()您必須在該函數之外聲明該變量。

從這個

function initHost() 
{ 
    var Host:host = new host(); 

這個

var Host:host; 
function initHost() 
{ 
    Host = new host(); 

,那麼你應該能夠給孩子添加到容器:

Host.addChild(file); 

當然,你必須確保的是,函數initHost()在執行之前執行,以確保該對象存在。


按照慣例,變量名應該以小寫字母和類名開頭(鏈接名稱)應該以大寫字母開頭。我強烈建議遵循該慣例。理想的情況是你的代碼應該是這樣的:

var host:Host; 
function initHost() 
{ 
    host = new Host(); 

host.addChild(...); 
+0

這個解釋很多!謝謝,我很高興你能理解它到底哈哈!我試圖標記你的答案是有用的,但我現在的排名太低了,如果有什麼我可以做的,那麼你會告訴我的! –

相關問題