2010-11-30 10 views
1

私が読んでいるXML文書があり、取得したデータから長方形の束を描画しています。このコードは1つのフレームに挿入されます。ボタンは、フレームをナビゲートするために使用されます。メイン画面のボタンは、長方形を描画するフレームに移動します。私はメイン画面に戻って、それがうまく動作する矩形を描画するフレームに戻るボタンがありますが、私はバックをクリックすると、私が描いた矩形は、まだシーンに残っています。とにかく、すべての長方形を一度に消去できるのですか?Flash CS5で矩形を作成して消去する

おかげ

答えて

1

はDisplayObject型の配列を定義し、これに各オブジェクト(スプライト、ムービークリップ)を加えます。

あなたは、それらを削除する配列を反復処理して子を削除する:

// Adding object to the array 
var objArray:Array; // this could be a field member 
objArray = []; 

// ... navigate to your XML file and get each entry 
// ... after you create an object, add it 
if(objArray.indexOf(obj1) < 0) // Make sure it is not there so we do not add it twice 
    objArray.push(obj1); 


// Clearing... 
for each (var obj1:DisplayObject in objArray) 
{ 
    obj1.parent.removeChild(obj1); 
} 

// when done, clear the array 
objArray = []; 
0

あなたは、現在のフレームのすべてを削除する場合:

function disposeFrameContent() : void 
{ 
    while(numChildren) 
     removeChildAt(0); 
} 

// run this code before you change frame 
disposeFrameContent(); 
0

方法に依存するであろう

this.graphics.clear(); 

私を:あなたは、グラフィックスAPIを使用している場合、あなたは、単に行うことができ、四角形を描きますF君は、のDisplayObjectを追加行います

while(this.numChildren > 0) 
     this.removeChildAt(0); 

あなたはもちろん、任意のコンテナのムービークリップにこれらのメソッドを呼び出すことができます。

 //for instance... 
    mc.graphics.clear(); 

    //or 
    while(mc.numChildren > 0) 
     mc.removeChildAt(0); 
関連する問題