错误 #2025:提供的 DisplayObject 必须是调用者 AS3 的子对象

Error #2025: The supplied DisplayObject must be a child of the caller AS3

当我删除一个页面并添加另一个页面时,它显示此错误。为什么要这样做?它说错误位于行“parent.removeChild(homePage);

    function onPlayButtonsClick(event:MouseEvent):void
    {
        //var level1Page = new Level1Page;
        parent.addChild(level1Page);
        parent.removeChild(homePage);
    }

private function onKeyDown(event: KeyboardEvent): void
    {
        if (event.keyCode == Keyboard.A)
        {
            vx = -5;
            side = true;
        }
        else if (event.keyCode == Keyboard.D)
        {
            vx = 5;
            side = true;
        }
        else if (event.keyCode == Keyboard.W)
        {
            vy = -5;
            up = true;
        }
        else if (event.keyCode == Keyboard.S)
        {
            vy = 5;
            up = true;
        }
    }

private function onKeyUp(event: KeyboardEvent): void
    {
        if (event.keyCode == Keyboard.A || event.keyCode == Keyboard.D)
        {
            vx = 0;
            side = false;
        }
        else if (event.keyCode == Keyboard.S || event.keyCode == Keyboard.W)
        {
            vy = 0;
            up = false;
        }
    }

这是我的 level1Page 键盘事件的代码。

您收到 #2025 错误是因为您的 homePage 对象不是上述 parent 的子对象,为避免此类问题,请始终尝试这样做:

yourObject.parent.removeChild(yourObject);

在你的情况下它将是:

homePage.parent.removeChild(homePage);

你可以看看我对这个问题的回答: Remove Child and AS3 2025 Error.

希望能帮到你。