错误2025我绝对不明白

时间:2013-10-13 09:53:31

标签: actionscript-3

我正在努力建立一个点和一个点击游戏。 我可以将项目从我的库存拖到场景中。 当我点击2次时,我想让我的物体消失。 它正在工作,但当对象消失时,我有一个错误2025 ..(我可以忽略它,一切正常,但我想纠正这个错误)。

我的错误说:

Error #2025: The supplied DisplayObject must be a child of the caller.
    at flash.display::DisplayObjectContainer/removeChild()
    at com.laserdragonuniversity.alpaca::DraggedItem/removeDraggedItem()
    [C:\Users\Stéphan\Desktop\12 octobre\La Brousse en folie tactile\com\laserdragonuniversity\alpaca\DraggedItem.as:145]

这是发生的时间:

(我点击我的库存,拿走我的物品,将其拖到现场,在任何地方点击2次,物品消失,我再次点击库存 - > ERROR 2025)

这是我的removeDraggedItem函数:

private function removeDraggedItem(e:MouseEvent) {
  if(timer.running==true) {
    if(e.buttonDown) {
      stageRef.removeEventListener(MouseEvent.MOUSE_MOVE, dragItem);
      stageRef.removeEventListener(Event.ENTER_FRAME, itemHitTest);
      draggedItem.removeEventListener(MouseEvent.MOUSE_DOWN, itemClick);
      stageRef.removeChild(draggedItem);
      toolbar.useText.text = "";
      if (stageRef.contains(this))
        stageRef.removeChild(this);
      Mouse.show();
      Engine.playerControl = true;
    }
  } else {
    if(e.buttonDown) {
      timer.start();
    }
  }
}

我做错了什么?

1 个答案:

答案 0 :(得分:0)

为避免此错误,我这样做:

if( itemToBeRemoved.parent )
{
    itemToBeRemoved.parent.removeChild( itemToBeRemoved );
}

我无法分辨你的代码中的问题,因为它没有向我显示DraggedItem的内容,特别是像145.也许你点击2次会导致不应该删除项目事件?