我正在努力建立一个点和一个点击游戏。 我可以将项目从我的库存拖到场景中。 当我点击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();
}
}
}
我做错了什么?
答案 0 :(得分:0)
为避免此错误,我这样做:
if( itemToBeRemoved.parent )
{
itemToBeRemoved.parent.removeChild( itemToBeRemoved );
}
我无法分辨你的代码中的问题,因为它没有向我显示DraggedItem的内容,特别是像145.也许你点击2次会导致不应该删除项目事件?