2011-02-03 5 views
0

こんにちは私はステージで同じ型のインスタンスの位置を数えて取得したいと思います。ステージの同じ型のインスタンスの位置を取得

var target; 
for(var item in _root){  
if(_root[item] instanceof MovieClip || _root[item] instanceof TextField){   
target = _root[item];   
trace("ITEM: "+target);   
trace("X: "+target._x);   
trace("Y: "+target._y);   
trace("----------------");  } } 

をしかし、それは、プロパティ_rootへのアクセスは未定義と言うと、instanceofは私はそれを作ることができる方法 を非推奨: は、私が試してみましたか? おかげAS3で

+0

使用' stage'。 –

答えて

1

することができますあなたのステージ(または親ムービークリップ)のすべての子をループ:代わりに_root` `の

for (var i : int = 0;i < stage.numChildren;i++) 
{ 
    var displayObject : DisplayObject = stage.getChildAt(i); 
    if(displayObject is TextField || displayObject is MovieClip) 
    { 
     trace("ITEM: " + displayObject);   
     trace("X: " + displayObject.x);   
     trace("Y: " + displayObject.y);   
     trace("----------------"); 
    } 
} 
+0

私はuse:loopの代わりにstageを使用します。 – sefiroths

+0

* _root *(アンダースコア)はAS2、* stage *(大文字* S *)はAS3です。 * stage *オブジェクトはAS2には存在せず、何も表示されない不明な/無効な型が見つかった場合、AS2コンパイラはエラーをスローしません。 ASのどのバージョンを2または3使用していますか? – nicoptere

+0

私はAS3を使い、bjornsonが提案したコードを書いています。しかし、私が画面上に描画したobjecは認識されません。addChild(new Ball())を記述すると、オブジェクトを認識するコードが作成されます。画面に他のオブジェクトを描画すると、ステージ上にないので認識されないように見える – sefiroths

関連する問題