2013-12-08 25 views
0

我在做一個拖放遊戲,我使用的類放置在舞臺上的對象:如何從類中移除子

var dermOV:dermAnswer= new dermAnswer(); 
addChild(dermOV); 
dermOV.name= "dermO"; 
dermOV.x=759.55; 
dermOV.y=331.65; 

var bodyOV:bodyAnswer= new bodyAnswer(); 
addChild(bodyOV); 
bodyOV.name= "bodyO"; 
bodyOV.x=889.10; 
bodyOV.y=331.65; 

var faceOV:faceAnswer= new faceAnswer(); 
addChild(faceOV); 
faceOV.name= "faceO"; 
faceOV.x=629.15; 
faceOV.y=331.65; 

如果你移動一個或放置,他們會留在屏幕上,所以我嘗試:

if(stage.contains(dermOV)){ 
    removeChild(dermOV);} 
if(stage.contains(faceOV)){ 
    removeChild(faceOV);} 
if(stage.contains(bodyOV)){ 
    removeChild(bodyOV);} 

,但我得到這個錯誤:

類型錯誤:錯誤#1009:無法訪問空對象引用的屬性或方法。 at main_fla :: MainTimeline/gotattoo()[main_fla.MainTimeline :: frame1:46]

它也是在web查看器上設置爲null的情況下再次執行此操作。 您是否有任何修復建議以消除該錯誤?

+0

你可以把一個if語句來測試,如果「階段」爲空? if(stage == null){ //記錄一些東西 } 我懷疑它在某點上沒有設置。 – darkflame

+0

哪行代碼是第46行? – SCCOTTT

回答

0

你輸出說你有問題gotattoo()函數。 另外,如果您的addChild(dermOV);位於MainTimeline的框架中,那麼您應該嘗試檢查您的對象是否位於舞臺上,因爲您將它放置爲MainTimeline對象的子項。因此,如果檢查時間軸上的地方,你應該使用這種結構

thid.contains(dermOV); 
相關問題