0

次のコードで..

var testContainer = new Sprite();
addChild(testContainer);

var testSprite = new Sprite();
testSprite.name = "sim":
testContainer.addChild(testSprite);

次の呼び出しが child-null エラーを返す理由について、少し混乱しています。

testContainer.removeChild(getChildByName("sim"));

しかし、次のコードはそうではなく、実際には意図したとおりに機能します。

with(testContainer)
{
  removeChild(getChildByName("sim"));
}

with参照をキャストしていないときに、提供する関数呼び出しの前に単にプレフィックスを付けると仮定したので、誰でもこれに光を当てることができますか。

4

2 に答える 2

3

以下のように、コンテナーから removeChild を呼び出す必要があります。 testContainer.removeChild(testContainer.getChildByName("sim"));

于 2012-10-09T10:59:16.160 に答える
1

トップレベルのメソッドとして使用できる汎用実装:

function removeChildFromParent(d:DisplayObject):DisplayObject {
  if (!d || !d.parent) return d;

  return d.parent.removeChild(d);
}
于 2012-10-09T11:07:44.497 に答える