2010-08-23 65 views
0

我嘗試拖動的東西,並在stopdrag應該開始,如果某些要求得到滿足的功能無法正常工作),但如果不符合要求,我會收到一個錯誤消息,指出我所指的地點不能爲空。我知道問題出在||部分之後,但我該如何解決這個問題?Stopdrag如預期

有沒有更簡單的方法來做這些檢查?目前,我正在經歷很多家長和getchildat聲明,並想知道是否有另一種方式。

回答

2

您可以爲您的容器指定一個變量,然後在您的條件語句中使用該變量。

編輯:

爲了訪問getChildByName方法,你的元素應該投如DisplayObjectContainer在最小。 MovieClip,Sprite擴展DisplayObjectContainer,所以你可以使用。這裏我使用MovieClip,但選擇是任意的。

 
var main:MovieClip = e.target.dropTarget.parent ; 
var container:MovieClip = main.parent.parent as MovieClip; 

var cloud:MovieClip = container.getChildByName("cloud"); 
var itemPlacer:MovieClip = cloud.getChildByName("itemPlacer"); 

var child:MovieClip = container.getChildAt(1); 

if(main == targetName || child == targetName) 
    //your code here 

對於其他問題,在其他任何事之前檢查空值。

 
    if(main != null && child != null) 
    { 
     if(main == targetName || child == targetName) 
     { 
     //your code here 
     } 

    }else{ 

     //your code here 
    } 
+0

說明\t \t資源路徑\t \t位置類型 1061:通過與靜態類型flash.display使用的參考呼叫可能未定義的方法getChildByName:的DisplayObject。 \t Start.as \t/eindwerk MA1/src \t line 155 \t Flex問題。 分配變量時出現此錯誤 – vincent 2010-08-23 17:01:39